有人想知道吗?在 kotlin 中拆分 SPACE (” “) 不起作用,我尝试使用不同的正则表达式代码但根本不起作用。
试过这个:
value.split("\\s")[0];
value.split("\\s+")[0];
value.split("\\s++")[0];
然后我想出了解决方案-> 创建包含此函数的 java 常量类并将字符串数组返回给您的 kotlin 类。
对于这个问题,我们有没有其他的解决方案可以直接实现这个东西?
解决方案: 正如@Edson Menegatti 所说:
KOTLIN 特定:工作
values.split("\\s".toRegex())[0]
许多人提出了这个解决方案: NOT WORKING
values.split(" ")[0]
但就我而言,它 不起作用。
原文由 Harsh Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是
String.split
的 Java 和 Kotlin 实现之间的一个问题。虽然 Java 实现确实接受正则表达式字符串,但 Kotlin 实现不接受。为了让它工作,您需要提供一个实际的
Regex
对象。为此,您需要按如下方式更新代码:
此外,正如@Thomas 所建议的,您可以使用常规空格字符将字符串拆分为:
最后一点,如果您只使用拆分列表的第一个元素,您可能需要考虑使用
first()
而不是[0]
- 为了更好的可读性 - 并将限制参数设置为2 - 为了更好的性能。