Say I have a string: Hey what\'s up @dude, @how\'s it going?
I\'d like to remove all the characters before@how\'s
.
String#slice and String#index work fine but will blow up with ArgumentError: bad value for range if the needle is not in the haystack.
Using String#partition or String#rpartition might work better in that case:
s.partition "@how's"
# => ["Hey what's up @dude, ", "@how's", " it going?"]
s.partition "not there"
# => ["Hey what's up @dude, @how's it going?", "", ""]
s.rpartition "not there"
# => ["", "", "Hey what's up @dude, @how's it going?"]