Mam długi ciąg i chcę usunąć część ciągu, która pojawia się po słowie, i szukam polecenia gsub!, Które to robi. Byłbym wdzięczny, gdybyś mógł to podać.
Na przykład: Wiem, że polecenie usunięcia części ciągu (ciąg nazywany jest treścią) poprzedzającego słowo „ciało” to:
contents.gsub!(/.*?(?=body)/im, "")
Dzięki.
Odpowiedzi:
1 dla odpowiedzi № 1Ten kod:
"this has a word in it".gsub! /(word).*/, $1
Zmieni ciąg na "this has a word"
„Słowo” w nawiasach to pierwszy argument zwracany przez wyrażenie regularne, i $1
zwraca ten argument.
0 dla odpowiedzi nr 2
Przechodzenie przez wyrażenie regularne, które wymaga /
w ciele do ucieczki, zakładam, że masz na myśli każdego dnia
contents = "Stuff before </body> stuff after"
contents.gsub(/(?<=/body>).+/, "")
=> "Stuff before </body>"