Ruby Regex Gsub何时不匹配

时间:2011-01-17 16:24:52

标签: ruby regex gsub

我想要将字符串中所有不是字母的字符gsub并用'#'替换。我想我需要一个正则表达式,就像这个正则表达式不匹配时的“gsub()”。

有什么想法吗?

5 个答案:

答案 0 :(得分:14)

看看马,没有正则表达式......

str.tr( '^A-Za-z', '#' )

答案 1 :(得分:9)

str.gsub(/[^a-zA-Z]/, '#')

^ 表示不匹配

答案 2 :(得分:4)

当然,你可以使用字符类否定:

"aBc$%^".gsub(/[^A-Za-z]/, '#') => "aBc###"

答案 3 :(得分:1)

在键盘上尝试this

puts "kjhdfuy37685682#$$%@dfjahf".gsub(/[^a-z]/i, '#')

答案 4 :(得分:1)

计算

所有字符 s ...替换为'#'str.gsub(/[^a-zA-Z]+/, '#')

每个字符...替换为'#'str.gsub(/[^a-zA-Z]/, '#')