我现在遇到一个很奇怪的问题,replaceAll
对象中缺少String
方法。
JDK版本:1.8.0
Android Studio版本:3.1.3
Kotlin版本:1.2
It hasn't been removed,那么这是怎么回事?
答案 0 :(得分:6)
您只需在Kotlin中使用replace
即可完成>
"foo and foo".replace("foo", "bar") // "bar and bar"
请注意,上述调用会替换文字字符串,如果您需要将Regex
作为第一个参数,则可以执行以下任一操作:
"foo and bar".replace("[abcd]".toRegex(), "x") // "foo xnx xxr"
"foo and bar".replace(Regex("[abcd]"), "x") // "foo xnx xxr"
答案 1 :(得分:5)
Kotlin具有自己的String类。所有替换方法都只是replace
。
replaceAll
使用正则表达式,因此我假设您的目标是使用正则表达式。为此,只需在传递替换时使用正则表达式对象即可:
sb.toString().replace("your regex".toRegex(), "replacement");
如果您没有正则表达式(那是错误的),请不要致电.toRegex()
:
sb.toString().replace("replace target", "replacement");
答案 2 :(得分:2)
科特林将replaceAll替换为:
actual fun String.replace(
oldChar: Char,
newChar: Char,
ignoreCase: Boolean = false
): String (source)
返回一个新字符串,将所有出现的oldChar替换为newChar。