说我有一句类似于以下的句子:
The quick brown fox jumps over the lazy dog
我想在切换之前切掉一切,包括“跳跃”,所以我留下了:
over the lazy dog
目前,我得到了我要删除的部分的索引,然后将该部分的长度添加到它,然后将其切片,如下:
sentence = "The quick brown fox jumps over the lazy dog"
slice_index = sentence.index("jumps").to_i + sentence.size
sliced_sentence = sentence.slice(slice_index..-1)
有没有更好的方法来实现这一目标?
谢谢!
答案 0 :(得分:5)
就个人而言,我喜欢正则表达式解决方案,但是
sentence.split(" jumps ").last
也可以,即使有多个“跳跃”。
答案 1 :(得分:3)
您可以使用正则表达式:
sentence =~ /jumps(.*)$/
sliced_sentence = $1
#=> " over the lazy dog"
jump
是您要查找的单词,(.*)$
是字符串末尾的所有内容,括号代表第一个捕获组(因此引用为$ 1)
答案 2 :(得分:1)
也许不是最好的解决方案,但我会这样做:
sentence = "The quick brown fox jumps over the lazy dog"
sentence.split(" jumps ")[1]
split将str分为基于分隔符的子字符串,返回这些子字符串的数组。数组索引1将始终是分隔符后面的部分。如果有多个“跳跃”
,这会中断