ruby gsub无法正常工作

时间:2014-09-12 13:39:25

标签: ruby string gsub

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

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

我想将space替换为slash。所以我尝试了以下内容:

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

我得到双斜杠而不是一个斜杠。而且,如果我想做类似的事情:

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

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

我做错了吗?

谢谢!

1 个答案:

答案 0 :(得分: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+匹配一个或多个空格字符的序列。