Wyszukiwanie wzorca
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 77 z 78.
Wyzwanie
ŁatwyUtwórz funkcję o nazwie count_pattern, która przyjmuje dwa argumenty: text i pattern. Funkcja powinna zwracać liczbę wystąpień wzorca w tekście, wliczając nakładające się wystąpienia.
Otrzymasz dwa wiersze danych wejściowych:
- Ciąg tekstowy, w którym należy szukać
- Ciąg wzorca, którego należy szukać
Wywołaj swoją funkcję z podanymi danymi wejściowymi i wyświetl wynik.
Podpowiedzi:
- Użyj
nchar(), aby uzyskać długość ciągów znaków - Użyj
substr(text, start, stop), aby wyodrębnić podciągi - Iteruj po każdej prawidłowej pozycji początkowej i sprawdzaj, czy podciąg pasuje do wzorca
Na przykład, jeśli dane wejściowe to:
ababa
abaWynik powinien być następujący:
2Wyjaśnienie: Wzorzec "aba" pojawia się na pozycji 1 (ababa) i na pozycji 3 (ababa), więc liczba wystąpień wynosi 2.
Jeśli dane wejściowe to:
mississippi
issiWynik powinien być następujący:
2Spróbuj swoich sił
# Odczytaj dane wejściowe
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Utwórz funkcję o nazwie count_pattern, która przyjmuje text i pattern
# i zwraca liczbę nakładających się wystąpień pattern w text
# Wywołaj funkcję i wypisz wynik
print(count_pattern(text, pattern))Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne (AND, OR)Operatory logiczne, część 2 (NOT)Powtórka — prosta logikaLogika wektoryzowana, część 1Logika wektoryzowana, część 27Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz2Zmienne i typy danych
Liczbowy typ danychCałkowity typ danychZnakowy typ danychLogiczny typ danychSprawdzanie typów danychKonwencje nazewnictwaBrakujące wartości: NAPodsumowanie – tworzenie zmiennych8Pętle
Pętla forPętla whilePrzerwijNastępna iteracja (continue)Powtórka — silniaGenerowanie sekwencji (seq, :)Pętle zagnieżdżonePowtórka — dynamiczne wprowadzanie danych3Operatory, część 1
Operatory arytmetyczneDzielenie całkowite i moduloOperatory przypisaniaPowtórka — prosta matematykaOperatory porównania6Podstawowe wejście/wyjście
Wyświetlanie danychCat jako wyjścieWyjście z użyciem zmiennychOdczyt danych wejściowych za pomocą readline()Podstawy konwersji typówPowtórka — kalkulator wiekuPowtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumenty funkcjiWartości zwracanePowtórzenie — funkcja SigmaPowtórzenie — funkcja walidującaDomyślne wartości parametrówPoćwicz samodzielnie: Kompilator R online