红宝石GSUB工作不正常

问题描述:

GSUB是不工作...红宝石GSUB工作不正常

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

我想用一个slash更换space。所以我尝试以下操作:

numbers.gsub(/\s/,"/"),得到了下面的字符串:88//99

我得到的,而不是一个斜线双斜杠。此外,如果我想要做的是这样的:

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

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

我做错了什么?

谢谢!

+0

也许'numbers.gsub(/ \ s + /,“/”)'?适用于我。 – zishe 2014-09-12 13:42:05

gsub()工作正常。使用您发布的例子:

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

您的实际串显然有多个空格字符,每一个被替换为斜杠。 @zishe得到溶液来替代多个空格字符的序列:

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

\s+的一个或多个空格字符的序列相匹配。

+0

它的工作,但不是当我想添加斜杠周围的额外空间! – user3442206 2014-09-12 14:04:36

+1

需要显示您正在使用的代码。看不到那个问题。 – showaltb 2014-09-12 14:08:22