0Pricing
Ruby Academy · Lekcja

Wyszukiwanie i zastępowanie

gsub, sub, match

Wyszukiwanie i zastępowanie to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.

Wyszukiwanie podłańcucha

Metoda index zwraca pozycję pierwszego dopasowania albo nil, jeśli go nie znaleziono. include? zwraca wartość true lub false.

text = "hello world"
puts text.index("world")
puts text.include?("world")

Zastępowanie pierwszego dopasowania za pomocą sub

sub zastępuje tylko pierwsze wystąpienie wzorca nową wartością.

text = "cat cat cat"
puts text.sub("cat", "dog")

Zastępowanie wszystkich dopasowań za pomocą gsub

gsub oznacza globalne zastępowanie. Zastępuje każde wystąpienie.

text = "cat cat cat"
puts text.gsub("cat", "dog")

Używanie wyrażeń regularnych

Wzorce zapisane między ukośnikami, takie jak /.../, są wyrażeniami regularnymi. /\d/ dopasowuje cyfrę. gsub i sub przyjmują wzorce wyrażeń regularnych.

text = "a1b2c3"
puts text.gsub(/\d/, "*")

Dopasowywanie za pomocą match?

match? zwraca true, jeśli wyrażenie regularne pasuje w dowolnym miejscu napisu. Jest to szybki i przejrzysty sposób wykonywania takich sprawdzeń.

email = "ada@ruby.org"
puts email.match?(/@/)
puts "no at sign".match?(/@/)

Przechwytywanie za pomocą match

match zwraca obiekt MatchData. Indeks [0] oznacza całe dopasowanie; nawiasy tworzą grupy przechwytujące dostępne za pomocą [1], [2] i kolejnych indeksów.

data = "2024-05-30"
m = data.match(/(\d+)-(\d+)-(\d+)/)
puts m[1]
puts m[2]

Wyszukiwanie wszystkich dopasowań za pomocą scan

scan zwraca tablicę zawierającą każde dopasowanie w napisie. Doskonale nadaje się do wyodrębniania wszystkich liczb lub słów.

text = "phone 555 and 777"
puts text.scan(/\d+/).inspect

Kotwice

Kotwice przypisują dopasowanie do określonej pozycji. ^ oznacza początek wiersza, a $ — jego koniec. \A i \z przypisują dopasowanie do początku i końca całego napisu.

puts "hello".match?(/^hel/)
puts "hello".match?(/llo$/)
puts "hello".match?(/^world/)

Klasy znaków

Nawiasy kwadratowe definiują zbiór dozwolonych znaków. [aeiou] dopasowuje dowolną samogłoskę. [a-z] dopasowuje dowolną małą literę.

text = "Ruby"
puts text.gsub(/[aeiou]/i, "_")

Bloki w gsub

Przekazanie bloku do gsub pozwala dynamicznie przekształcać każde dopasowanie. Dopasowany tekst jest argumentem bloku.

text = "one two"
result = text.gsub(/\w+/) { |w| w.upcase }
puts result

Wyszukiwanie bez uwzględniania wielkości liter

Flaga i umieszczona za wyrażeniem regularnym powoduje ignorowanie wielkości liter.

text = "Hello HELLO hello"
puts text.gsub(/hello/i, "hi")

Szybki test

Sprawdź swoje umiejętności wyszukiwania i zastępowania.

Podsumowanie

Potrafi już Pan/Pani wyszukiwać i zastępować tekst:

  • index, include?, match? do wyszukiwania
  • sub (pierwsze dopasowanie) i gsub (wszystkie dopasowania) do zastępowania
  • wzorce wyrażeń regularnych, kotwice i klasy znaków
  • scan do wyodrębniania wszystkich dopasowań oraz bloki do dynamicznego zastępowania

W następnej kolejności: dzielenie i łączenie napisów.

puts "a,b,c".gsub(",", " | ")

Często zadawane pytania

Czy lekcja „Wyszukiwanie i zastępowanie” jest bezpłatna?

Tak — pełny tekst „Wyszukiwanie i zastępowanie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wyszukiwanie i zastępowanie”?

gsub, sub, match Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?

Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wyszukiwanie i zastępowanie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?

Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy String i metody
  2. Interpolacja i formatowanie
  3. Wyszukiwanie i zastępowanie
  4. Dzielenie i łączenie
← Powrót do Ruby Academy