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 に答える