簡體   English   中英

Ruby替換字符串的一部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM