我想要将字符串中所有不是字母的字符gsub并用'#'替换。我想我需要一个正则表达式,就像这个正则表达式不匹配时的“gsub()”。
有什么想法吗?
答案 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]/, '#')