Как превратить неорганизованный текстовый файл в массив [String] в Scala? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть текстовый файл, который выглядит следующим образом:

 10 10 
 54 129 155 559 10.00 10.00 
 99999 3 15 15 15 15 15 15 
 15 15 
 120 195 258 744 10.00 10.00 
 3 99999 15 15 15 15 15 15 
 15 15 

количество ints / doubles на строку может варьироваться.

Я не могу читать построчно, потому что количество наони не постоянны.Я пытался с split, mkString и так далее, но безуспешно.

val lines = Source.fromFile(s"/tmp/$filepath")
                  .getLines.mkString
                  .split("\n").mkString
                  .split(" ").map(_.trim)

Когда я пытаюсь прочитать это как:

lines(0).toInt

Возвращается: [NumberFormatException: Для входной строки: ""]

Нужно, чтобы это выглядело так:

A = Array ('10 ',' 10 ',' 54 ',' 129 ',' 155 ',' 559 ', «10,00», «10,00», «99999», «3», «15», «15», «15», «15», «15», «15», «15», «15», «120 ',' 195 ',' 258 ',' 744 ', '10 .00', '10 .00 ',' 3 ',' 99999 ',' 15 ',' 15 ',' 15 ',' 15 ',' 15 ', «15», «15», «15»)

1 Ответ

3 голосов
/ 05 июня 2019

Не уверен, что вы хотели со всеми этими mkString s ... В любом случае, это здесь работает просто отлично:

io.Source.fromFile("input.txt").getLines.flatMap(_.trim.split(" +")).toArray
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...