Spis treści:
Jak pracować z ciągami znaków w Ruby
Ciągi znaków to sekwencje znaków, które reprezentują tekst, liczby lub inne dane. W Ruby ciągi znaków są obiektami klasy String
. Obsługują one szereg metod i operatorów, które umożliwiają manipulowanie i analizowanie danych łańcuchowych.
Tworzenie łańcuchów znaków
Ciągi znaków można tworzyć za pomocą apostrofów ('
), podwójnych cudzysłowów ("
) lub heredokumentów. Apostrofy i podwójne cudzysłowy są podobne, ale między nimi są pewne kluczowe różnice.
ruby
Użycie apostrofów
str = 'To jest ciąg znaków utworzony za pomocą apostrofów.'
Użycie podwójnych cudzysłowów
str = "To jest ciąg znaków utworzony za pomocą podwójnych cudzysłowów."
Heredokumenty pozwalają na tworzenie łańcuchów znaków rozciągających się na wiele wierszy. Są one przydatne, gdy trzeba zawrzeć duże ilości tekstu.
ruby
Użycie heredokumentu
str = <<~HEREDOC
To jest łańcuch znaków utworzony za pomocą heredokumentu.
Można go rozciągnąć na wiele wierszy.
HEREDOC
Indeksowanie i wycinanie
Indeksowanie pozwala na dostęp do poszczególnych znaków łańcucha znaków za pomocą notacji nawiasów kwadratowych. Pierwszy znak ma indeks 0, a ostatni indeks to długość łańcucha minus 1.
ruby
str = 'To jest ciąg znaków.'
Dostęp do pierwszego znaku
puts str[0]
=> "T"
Dostęp do ostatniego znaku
puts str[-1]
=> "."
Wycinanie pozwala na wyodrębnienie podłańcucha z łańcucha znaków. Używa się do tego operatorów []
lub slice
.
ruby
str = 'To jest ciąg znaków.'
Wycięcie podłańcucha od indeksu 0 do 4
puts str[0..4]
=> "To j"
Wycięcie podłańcucha od indeksu 5 do końca
puts str[5..-1]
=> "est ciąg znaków."
Konkatenacja i wstawianie
Konkatenacja łączy dwa lub więcej łańcuchów znaków w jeden ciąg. Używa się do tego operatora +
.
ruby
str1 = 'To'
str2 = 'jest'
str3 = 'ciąg znaków.'
Łączenie łańcuchów znaków
str = str1 + str2 + str3
Wstawianie pozwala na wstawienie podłańcucha do łańcucha znaków w określonym miejscu. Używa się do tego operatora <<
.
ruby
str = 'To jest ciąg znaków.'
Wstawienie podłańcucha na początku łańcucha
str.<<( 'przed' )
=> "przedTo jest ciąg znaków."
Wstawienie podłańcucha na końcu łańcucha
str << ' po'
=> "przedTo jest ciąg znaków. po"
Wyszukiwanie i zamiana
Wyszukiwanie
Wyszukiwanie umożliwia znalezienie podłańcucha w łańcuchu znaków. Używa się do tego metod index
i rindex
.
ruby
str = 'To jest ciąg znaków.'
Znajdowanie pierwszego wystąpienia podłańcucha "jest"
puts str.index( 'jest' )
=> 2
Znajdowanie ostatniego wystąpienia podłańcucha "jest"
puts str.rindex( 'jest' )
=> 6
Zamiana
Zamiana pozwala na zastąpienie podłańcucha w łańcuchu znaków innym podłańcuchem. Używa się do tego metod gsub
i sub
.
ruby
str = 'To jest ciąg znaków.'
Zastąpienie wszystkich wystąpień "jest" na "był"
puts str.gsub( 'jest', 'był' )
=> "To był ciąg znaków."
Zastąpienie pierwszego wystąpienia "jest" na "był"
puts str.sub( 'jest', 'był' )
=> "To był ciąg znaków."
Modyfikacja łańcuchów znaków
Wielkość liter
Metody upcase
i downcase
zmieniają wielkość liter w łańcuchu znaków.
ruby
str = 'To jest ciąg znaków.'
Zmiana na wielkie litery
puts str.upcase
=> "TO JEST CIĄG ZNAKÓW."
Zmiana na małe litery
puts str.downcase
=> "to jest ciąg znaków."
Usuwanie białych znaków
Metody strip
, lstrip
i rstrip
usuwają białe znaki (spacje, tabulatory, nowe wiersze) z łańcucha znaków.
ruby
str = ' To jest ciąg znaków z białymi znakami. '
Usunięcie wszystkich białych znaków
puts str.strip
=> "To jest ciąg znaków z białymi znakami."
Usunięcie białych znaków z lewej strony
puts str.lstrip
=> "To jest ciąg znaków z białymi znakami. "
Usunięcie białych znaków z prawej strony
puts str.rstrip
=> " To jest ciąg znaków z białymi znakami"
Zamiana znaków
Metoda tr
zastępuje określone znaki w łańcuchu znaków innymi znakami.
ruby
str = 'To jest ciąg znaków.'
Zastąpienie wszystkich wystąpień "s" na "z"
puts str.tr( 's', 'z' )
=> "To jest ciąg znaków."
Konwersje łańcuchów znaków
Konwersja do liczb
Metody to_i
i to_f
konwertują ciągi znaków reprezentujące liczby całkowite i zmiennoprzecinkowe na odpowiednie obiekty numeryczne.
ruby
str = '123'
Konwersja do liczby całkowitej
puts str.to_i
=> 123
Konwersja do liczby zmiennoprzecinkowej
puts str.to_f
=> 123.0
Konwersja do symboli
Metoda to_sym
konwertuje łańcuchy znaków na obiekty symboli. Symbole są unikalnymi identyfikatorami używanymi do reprezentowania nazw metod, kluczy itp.
ruby
str = 'ruby'
Konwersja do symbolu
puts str.to_sym
=> :ruby
Wniosek
Ciągi znaków w Ruby to potężne narzędzie, które umożliwia łatwą manipulację i analizę danych tekstowych. Artykuł ten omówił podstawowe metody i operatory używane do pracy z ciągami znaków, w tym tworzenie, indeksowanie, wycinanie, konkatenację, wstawianie, wyszukiwanie, zamianę, modyfikację i konwersje. Zrozumienie tych technik pozwoli Ci skutecznie obsługiwać dane tekstowe w aplikacjach Ruby.
Często zadawane pytania
1. Jak utworzyć łańcuch znaków z wieloma wierszami w Ruby?
Można użyć heredokumentów.
2. Jak uzyskać dostęp do poszczególnych znaków łańcucha znaków?
Za pomocą notacji nawiasów kwadratowych.
3. Jak połączyć dwa lub więcej łańcuchów znaków?
Używając operatora +
.
4. Jak znaleźć podłańcuch w łańcuchu znaków?
Używając metod index
lub rindex
.
5. Jak zastąpić podłańcuch w łańcuchu znaków?
Używając metod gsub
lub sub
.
6. Jak przekonwertować łańcuch znaków na liczbę całkowitą?
Używając metody to_i
.
7. Jak przekonwertować łańcuch znaków na symbol?
Używając metody to_sym
.
8. Jakie są różnice między apostrofami i podwójnymi cudzysłowami przy tworzeniu łańcuchów znaków?
Podwójne cudzysłowy umożliwiają interpolację, podczas gdy apostrofy nie.