首页 文章

ruby gsub无法正常工作

提问于
浏览
0

gsub没有按预期工作......

我有一个字符串 numbers 如下: numbers="88 99"

我想用 slash 替换 space . 所以我尝试了以下内容:

numbers.gsub(/\s/,"/") 并获得以下字符串: 88//99

我得到双斜线而不是斜线 . 而且,如果我想做类似的事情:

numbers.gsub(/\s/," / ")

我不能!由于额外的空间消失了......

难道我做错了什么 ?

谢谢!

1 回答

  • 2

    gsub() 工作正常 . 使用您发布的示例:

    $ irb
    >> numbers="88 99"
    => "88 99"
    >> numbers.gsub(/\s/, '/')
    => "88/99"
    

    您的实际字符串显然有多个空格字符,每个字符都用斜杠替换 . @zishe给出了替换多个空格字符序列的解决方案:

    >> numbers="88  99"
    => "88  99"
    >> numbers.gsub(/\s+/, '/')
    => "88/99"
    

    \s+ 匹配一个或多个空白字符的序列 .

相关问题