[英]Ruby Replacing Parts of String
我有这个弦
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!
?
>> 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"
您不需要为gsub参数( / on /
)使用Regexp对象,也可以使用字符串-这对我有用!
s = "03:23 PM on 09/04/12"
p s.gsub " on ", " "
#=> "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 /, ' ')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.