2013-11-29 9 views
7

Jak usunąć pierwsze wystąpienie danego podłańcucha?Jak usunąć pierwsze wystąpienie podciągu w ciągu?

mam:

phrase = "foobarfoo" 

i kiedy zadzwonić:

phrase.some_method_i_dont_know_yet ("foo") 

Chcę wyrażenie wyglądać barfoo.

Próbowałem z delete i slice, ale pierwszy usuwa wszystkie wystąpienia, ale drugi po prostu zwraca plasterek.

+0

Dziękuję za to pytanie – sandre89

Odpowiedz

13

użytkowania sub! zastąpić to, co staramy się znaleźć z "" (nic), tym samym usuwając go:

phrase.sub!("foo", "") 

The (grupowy) w końcu sprawia, że ​​na stałe. sub jest inny niż gsub w tym sub po prostu zastępuje pierwsze wystąpienie ciągu, który próbujesz znaleźć, natomiast gsub znajduje wszystkie wystąpienia.

1

sub zrobi to, co chcesz. gsub to globalna wersja, która prawdopodobnie już znasz.