Как убрать пробел из начала строки Kotlin? - PullRequest
1 голос
/ 05 марта 2020

Я пытаюсь создать программу, которая читает файл .txt и разбивает его на отдельные списки.

Я использую это, чтобы попытаться разделить мои строки на 4 части:

val parts = it.split("\\s".toRegex())

 val part1 = parts[0]
 val part2 = parts[1]
 val part3 = parts[2]
 val part4 = parts[3]

(причина, по которой я использую "\ s", заключается в том, что количество пробелов между словами не соответствует)

Однако некоторые строки в файле начинаются с пробела или двух, что приводит к тому, что первое слово не обнаруживается.

Могу ли я игнорировать или удалять только первые пробелы в каждой строке? Как в настоящее время, когда я пытаюсь напечатать часть [0], он возвращается как пустое

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вероятно, вам нужно что-то вроде этого:

val textLine = " part1 part2 part3  part4"

// wrong way
val parts = textLine.split("\\s".toRegex())
println(parts) // [, part1, part2, part3, , part4]

// correct way
val partsWithTrim = textLine.trim().split("\\s+".toRegex())
println(partsWithTrim) // [part1, part2, part3, part4]

Обратите внимание на вызов trim для удаления пробелов в начале и конце строки и знак + в части регулярного выражения чтобы действительно иметь дело с непоследовательным количеством пробелов.

0 голосов
/ 05 марта 2020

Просто обрежьте строки:

 val part1 = parts[0].trim()

или

 val part1 = parts[0].trimStart()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...