将字符串拆分为成对

时间:2018-08-30 20:13:51

标签: kotlin

我尝试将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", "")

1 个答案:

答案 0 :(得分:1)

为什么不呢?

Pair(text.substringBefore(' ').trim(), text.substringAfter(' ').trim())

当然,这取决于您是否要在 all 个空格上分割,并忽略两个以上的字符串:

text.split(Regex("\\s+")).let {
    Pair(it[0], it.getOrNull(1) ?: "")
}

,或者如果您想在 last 上分割(使用substringBeforeLast等)。