Ruby正则表达式Gsub不匹配的情况

6
我想使用 gsub 函数将字符串中所有非字母字符替换为 '#'。我认为我需要一个正则表达式,大致如下:“当这个正则表达式不匹配时,进行 gsub() 操作。”
有什么想法吗?
5个回答

16

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

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

2
^A-Za-z 是完全的正则表达式 :P - raddrick

9
str.gsub(/[^a-zA-Z]/, '#')
^ 表示不匹配。

万分感谢! - Salma Gomaa

4
当然,您可以使用字符类的否定形式: "aBc$%^".gsub(/[^A-Za-z]/, '#') => "aBc###"

2
尝试在Codepad上使用此链接
puts "kjhdfuy37685682#$$%@dfjahf".gsub(/[^a-z]/i, '#')

1

词语 很重要

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接