我想用\
来逃避它们之前的某些字符我提出了以下解决方案:
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
但我很确定必须有一种方法可以使用正则表达式来实现它,但我不知道如何引用匹配的文本......
答案 0 :(得分:4)
"hola.vamos a+escapar".replaceAll("([.+ ])", "\\\\$1")
或
"hola.vamos a+escapar".replaceAll("([.+ ])", """\\$1""")
取决于您是否更喜欢引号或大量反斜杠。