1

我想用 \ 转义它们前面的某些字符

我想出了以下解决方案:

scala> val l = List(".", "+", " ")
scala> val x = "hola.vamos a+escapar"
scala> l.foldRight(x){ (char, text) => text.replaceAll("""\""" + char, """\\""" + char) }
res1: java.lang.String = hola\.vamos\ a\+escapar

但我很确定一定有办法使用正则表达式来实现它,但我不知道如何引用匹配的文本......

4

1 回答 1

4
"hola.vamos a+escapar".replaceAll("([.+ ])", "\\\\$1")

或者

"hola.vamos a+escapar".replaceAll("([.+ ])", """\\$1""")

取决于您是否喜欢大量引号或大量反斜杠。

于 2012-11-13T04:55:57.223 回答