Jak pracować z ciągami znaków w Ruby

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.