kotlin - 拆分字符串以配对

标签 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", "")

最佳答案

为什么不呢:

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

当然,这取决于您是否要拆分所有 空格并忽略超过 2 个字符串:

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

或者如果您想在最后 空格处拆分(使用substringBeforeLast 等)。

关于kotlin - 拆分字符串以配对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104730/

相关文章:

android - Huawei Android AppUpdateClient - 如何测试

generics - 如何实现引用符合类型的 Kotlin 接口(interface)?

kotlin - sortedBy() 选择器不排序列表

reactjs - 如何从外部js库添加react组件?

android - 由于接收器类型不匹配,以下候选人均不负责

android - imageView 在 recyclerview viewholder 中为 null

kotlin - 如何在递归生成的序列中产生

kotlin - 带有可选字段的Kotlin DSL

android - 将 LiveData<Resource<User>> 转换为 LiveData<User> 时的类型干扰问题

java - 如何告诉JPA管理从属实体?