我想写一个函数,用文字 \d
替换字符串中的所有数字。我的代码是:
val r = """\d""".r
val s = r.replaceAllIn("123abc", """\d""")
println(s)
我希望结果是 \d\d\dabc
,但是得到:
dddabc
然后我将代码(第 2 行)更改为:
val s = r.replaceAllIn("123abc", """\\d""")
现在结果是正确的:\d\d\dabc
但是我不明白为什么replaceAllIn
方法是转换字符串,而不是直接使用呢?
在我以前的代码中有一个toList
,现在我想要的。我刚刚更新了问题。感谢大家。
最佳答案
只需删除 toList
。
val r = """\d""".r
val list = r.replaceAllIn("123abc", """\\d""")
println(list)
String
是(隐含地,通过 WrappedString
可转换为)Seq[Char]
。如果您调用 toList
,您将拥有一个 List[Char]
。
关于regex - 如何在 scala 中用 literal\d 替换所有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5142483/