-1
我正在使用Ruby,並且我想要編寫一個函數,該函數使用分隔字符串str
(由//
分隔),並返回字符串的最後一部分,即字符串中最後一個//
之後的部分。例如,給出a//b///cd
,它應該返回cd
。如何在最終分隔符後提取子字符串?
我可以使用正則表達式來做到這一點,如果是這樣,我應該使用什麼表達式?
我正在使用Ruby,並且我想要編寫一個函數,該函數使用分隔字符串str
(由//
分隔),並返回字符串的最後一部分,即字符串中最後一個//
之後的部分。例如,給出a//b///cd
,它應該返回cd
。如何在最終分隔符後提取子字符串?
我可以使用正則表達式來做到這一點,如果是這樣,我應該使用什麼表達式?
由於Nhahtdh在他comment寫道:您可以使用/.*\/\/(.*)/
其中在Ruby中,會像
regex = %r{.* # any character (0 up to infinit-times) till we find the last
// # two consecutive characters '/'
(?<last_part>.*) # any character (0 up to infinit-times)
}
string = 'a//b///cd'
puts regex.match(string)[:last_part]
#=> cd
您可以找到有關在ProgrammingRuby
的RegularExpression
部分%r
。
這應該是'/.*\/\/(.*)/'。不過,您需要選擇第一個捕獲組。 http://rubular.com/r/k4Ow6WskY2 – nhahtdh
@nhahtdh爲什麼不寫一個簡單的答案,以便用戶可以接受它? – oldergod
@oldergod:隨意採取評論和寫一個,因爲我不知道Ruby本身的語言。 – nhahtdh