Как искать регулярное выражение и заменять символы из строки в ruby?

Скажем, у меня есть строка:

asd;;%$@#!G'{}[]

Теперь я хочу избежать специальных символов:

;&|><*?`$(){}[]!#

Итак, вывод будет примерно таким:

asd\;\;%\$@\#\!G\'\{\}\[\]

Как я могу добиться этого, используя gsub/sub в Ruby?


person Aashish P    schedule 20.04.2012    source источник
comment
Это регулярное выражение для поиска специальных символов в строке. /[;\&\|›‹*\?`'\$(){}[]\!\#]/   -  person Aashish P    schedule 20.04.2012
comment
См. stackoverflow.com/a/5396495/1315563.   -  person yazu    schedule 20.04.2012


Ответы (1)


Здесь почти та же идея, что и в решении soundar (но с использованием классов символов и без захвата):

"asd;;%$@#!G'{}[]".gsub(/[;&|><*?`$(){}\[\]!#]/, '\\\\\\0')
person sinjed    schedule 20.04.2012