说我有一个字符串:"Test    me".
我该如何将其转换为:"Test me"?
我尝试过使用:
string?.replace("\\s+", " ")
但似乎这\\s是Kotlin的非法逃脱.
hot*_*key 69
replaceKotlin中的函数对原始字符串和正则表达式模式都有重载.
"Test  me".replace("\\s+", " ")
这取代了原始字符串\s+,这就是问题所在.
"Test  me".replace("\\s+".toRegex(), " ")
此行用单个空格替换多个空格.注意显式toRegex()调用,它Regex从a开始String,因此用Regex模式指定重载.
还有一个过载,允许您从比赛中产生替补.例如,要用遇到的第一个空格替换它们,请使用:
"Test\n\n  me".replace("\\s+".toRegex()) { it.value[0].toString() }
val pattern = "\\s+".toRegex()
for (s in strings)
    result.add(s.replace(pattern, " "))
| 归档时间: | 
 | 
| 查看次数: | 14023 次 | 
| 最近记录: |