Java 字符串类替换缺少所有方法

2022-09-01 00:28:54

我现在遇到了一个非常奇怪的问题,对象中缺少该方法。replaceAllString

JDK 版本: 1.8.0
安卓工作室版本: 3.1.3
Kotlin 版本: 1.2

enter image description here

它尚未被删除,所以这里发生了什么??


答案 1

你可以在 Kotlin 中只用 replace 来做到这一点:

"foo and foo".replace("foo", "bar") // "bar and bar"

请注意,上面的调用将替换文本字符串,如果需要 a 作为第一个参数,则可以执行以下任一操作:Regex

"foo and bar".replace("[abcd]".toRegex(), "x") // "foo xnx xxr"
"foo and bar".replace(Regex("[abcd]"), "x")    // "foo xnx xxr"

答案 2

Kotlin 有自己的 String 类。所有的替换方法都只是.replace

replaceAll在Java中使用正则表达式,所以我假设你的目标是使用正则表达式。为此,只需在传递替换时使用正则表达式对象:

sb.toString().replace("your regex".toRegex(), "replacement");

如果您没有正则表达式(这是错误的),请不要调用:.toRegex()

sb.toString().replace("replace target", "replacement");

推荐