我有这个字符串
s = "03:23 PM on 09/04/12"
我想取出'on'并用空格''替换它。我认为字符串的 gsub 方法以及正则表达式将是最好的解决方案。我只是不确定为什么这不起作用。
s ="03:23 PM on 09/04/12"
s.gsub(/ on /, ' ')
puts s
#=> "03:23 PM on 09/04/12"
字符串的gsub
方法返回修改后的字符串,而单独留下对象字符串。如果要就地修改对象,则必须使用gsub!
.
此外,如果您只想更改一次事件,那么sub
可能是您最好的选择。
所以
s = "03:23 PM on 09/04/12"
s = s.sub(' on ', ' ')
或者
s.sub!(' on', ' ')
您不需要为 gsub 参数 ( / on /
) 使用 Regexp 对象,您也可以使用字符串 - 这对我有用!
s = "03:23 PM on 09/04/12"
p s.gsub " on ", " "
#=> "03:23 PM 09/04/12"
对我来说很好......也许你打算使用gsub!
?
>> s ="03:23 PM on 09/04/12"
=> "03:23 PM on 09/04/12"
>> s.gsub(/ on /, ' ')
=> "03:23 PM 09/04/12"
>> s.gsub!(/ on /, ' ')
=> "03:23 PM 09/04/12"
>> s
=> "03:23 PM 09/04/12"
s ="03:23 PM on 09/04/12"
s.gsub(' on ', ' ')
#>> "03:23 PM 09/04/12"
在这种情况下你可以不用regex
,但如果你想使用regex
,那么使用s.gsub!(/ on /, ' ')