【问题标题】:remove both commas and white space ruby删除逗号和空格 ruby
【发布时间】:2015-02-08 16:36:19
【问题描述】:

我是 ruby​​ 新手,我的正则表达式知识还有很多不足之处。我正在尝试检查字符串是否为回文,但希望忽略空格和逗号。

我目前的代码是

def palindrome(string)
  string = string.downcase
  string = string.gsub(/\d+(,)\d+//\s/ ,"")
  if string.reverse == string
    return true
  else
    return false
  end
end

我们将不胜感激。

【问题讨论】:

  • 你想让"pat, tap"返回true吗?请注意,您的正文可以写成一行:string.downcase.gsub(/\d+(,)\d+//\s/ ,"") == string。您不需要return,因为会返回最后一个计算值。

标签: ruby regex string palindrome


【解决方案1】:

但希望忽略空格和逗号

您不需要在您的正则表达式中输入\d。只需将空格或逗号替换为空字符串即可。

string = string.gsub(/[\s,]/ ,"")

上面的 gsub 命令会删除所有的空格或逗号。 [\s,] 匹配空格或逗号的字符类。

【讨论】:

    【解决方案2】:

    另一种方法是使用方法String#tr

    str = "pat, \t \ntap"
    
    str.tr(" ,\t\n", '') #=> "pattap"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多