我尝试将String
拆分为两个:text.split("\\s+".toRegex(), 2)
。但我不能保证会有两个。例如:"abc".split("\\s+".toRegex(), 2).size == 1
。
是否可以将String
分为两部分?还是得到Pair<String, String>
?
更新。预期结果:
"123 456 789 0"
-> ("123", "456 789 0")
或listOf("123", "456 789 0")
"123"
-> ("123", "")
或listOf("123", "")
答案 0 :(得分:1)
为什么不呢?
Pair(text.substringBefore(' ').trim(), text.substringAfter(' ').trim())
当然,这取决于您是否要在 all 个空格上分割,并忽略两个以上的字符串:
text.split(Regex("\\s+")).let {
Pair(it[0], it.getOrNull(1) ?: "")
}
,或者如果您想在 last 上分割(使用substringBeforeLast
等)。