如何從字符串中刪除最後一個"l"
而不是其他字符?刪除字符串中字母的最後一個實例
string = "Hello"
期望的結果:
string # => "Helo"
我所做的:
string.delete!("l")
string #= > "Heo"
如何從字符串中刪除最後一個"l"
而不是其他字符?刪除字符串中字母的最後一個實例
string = "Hello"
期望的結果:
string # => "Helo"
我所做的:
string.delete!("l")
string #= > "Heo"
string[string.rindex('l')] = ''
這匹配的第一次發生,而不是最後 –
@boulder_ruby,不,它不。這就是爲什麼它是'rindex'而不是'index'。 – ndn
我只是將這個解決方案插入我的代碼並且輸出正常工作。再次感謝! – user3007294
您可以使用sub
來取代單一的發生和調整正則表達式替換最後一個比賽。
string = "Homemade"
string.sub(/(.*)m/, '\1')
# => "Homeade"
在你的情況下,正則表達式將
string.sub(/(.*)l/, '\1')
str = 'hello'
r =/
.* # match any number of any character
\K # discard everything matched so far
l # match last 'l'
/x # extended mode
str.gsub(r,'')
#=> "helo"
string.slice! -2 – Joel
對於''lol「',你想要'」lo「'還是'」ol「'? – sawa
感謝所有人的回覆。真正有幫助! @sawa - 這將是「lo」,因爲最後的「l」需要被刪除 – user3007294