我正在尝试从字符串中删除非字母.这会这样做:
c = o.replace(o.gsub!(/\W+/, ''))
Run Code Online (Sandbox Code Playgroud)
Cam*_*ron 26
就gsub!
足够了:
o.gsub!(/\W+/, '')
Run Code Online (Sandbox Code Playgroud)
请注意,gsub!
修改原始o
对象.此外,如果o
不包含任何非单词字符,结果将是nil
,因此使用返回值作为修改后的字符串是不可靠的.
你可能想要这个:
c = o.gsub(/\W+/, '')
Run Code Online (Sandbox Code Playgroud)
删除任何非字母的内容:
> " sd 190i.2912390123.aaabbcd".gsub(/[^a-zA-Z]/, '')
"sdiaaabbcd"
Run Code Online (Sandbox Code Playgroud)
编辑:正如池上指出,这没有考虑重音字符,变音符号和其他类似的字符.这个问题的解决方案将取决于你究竟指的是"不是一封信".此外,您的输入将是什么.