我是ruby的新手,我的正则表达式知识还有很多不足之处。我试图检查字符串是否是回文,但希望忽略空格和逗号。
我目前的代码是
def palindrome(string)
string = string.downcase
string = string.gsub(/\d+(,)\d+//\s/ ,"")
if string.reverse == string
return true
else
return false
end
end
非常感谢此处的任何帮助。
答案 0 :(得分:8)
但希望忽略空格和逗号
您无需将\d
放入正则表达式中。只需用空字符串替换空格或逗号。
string = string.gsub(/[\s,]/ ,"")
上面的gsub命令会删除所有空格或逗号。 [\s,]
与空格或逗号匹配的字符类。
答案 1 :(得分:0)
另一种方法是使用方法String#tr:
str = "pat, \t \ntap"
str.tr(" ,\t\n", '') #=> "pattap"