scala:使用正则表达式来转义某些字符

时间:2012-11-13 03:42:42

标签: regex scala

我想用\

来逃避它们之前的某些字符

我提出了以下解决方案:

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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