我正在尝试创建一个程序,该程序读取.txt文件并将文件拆分为单独的列表。
我正在用它来尝试将我的弦分为四个部分:
val parts = it.split("\\s".toRegex())
val part1 = parts[0]
val part2 = parts[1]
val part3 = parts[2]
val part4 = parts[3]
(我使用“ \ s”的原因是单词之间的空格数不一致)
但是,文件中的某些行以一两个空格开头,然后导致未检测到第一个单词。
有没有办法让我忽略或删除每行的第一个空白?目前,当我尝试打印part [0]时,它返回为空白
您想要的可能是这样的:
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
从字符串的开头和结尾删除空格的调用以及+
正则表达式部分中的符号实际上是处理了数量不一致的空格。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句