regex - 如何在 scala 中用 literal\d 替换所有数字?

标签 regex scala

我想写一个函数,用文字 \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/

相关文章:

python - 如何使用 Python 删除数据文件中的损坏事件?

正则表达式在coldfusion中匹配整个单词串

scala - 持续调度

scala - 每次都在我的网络应用程序的标题中显示登录的用户信息

Scala "update"不可变对象(immutable对象)最佳实践

正则表达式:匹配,但如果在评论中则不匹配

带有 regexec() 的 C++ 正则表达式不匹配

sql - 至少包含一组不同字符的计数

scala - 为 Slick 3.1.1 创建通用更新功能

scala - 向内置 SBT 任务添加新的任务依赖项?