您好,我想用Ruby中的Regex消除非单词字符。
假设我有:
pal1 = "a@b?a"
pal1 = /[a-z0-9]/.match(pal1)
当我把这个放到http://www.rubular.com/中时,它说匹配结果是:
阿坝州
但是当我用ruby运行代码时,它不是真的,它只给出“a”
我怎样才能改变我的regex在pal1中实现aba。
提前谢谢你的时间。
最佳答案
您可以使用gsub
删除这些字符。
pal1 = 'a@b?a'
pal1.gsub(/[^a-z0-9]/i, '')
# => "aba"
您也可以使用
scan
来匹配这些字符并将它们连接在一起。pal1 = 'a@b?a'
pal1.scan(/[a-z0-9]/i).join
# => "aba"