gsub没有按预期工作......
我有一个字符串numbers
,如下所示:numbers="88 99"
我想将space
替换为slash
。所以我尝试了以下内容:
numbers.gsub(/\s/,"/")
并获得以下字符串:88//99
我得到双斜杠而不是一个斜杠。而且,如果我想做类似的事情:
numbers.gsub(/\s/," / ")
我不能!由于额外的空间消失了......
我做错了吗?
谢谢!
答案 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+
匹配一个或多个空格字符的序列。