Ruby:
Извлечение подстрок
Как делать:
Ruby делает извлечение подстрок простым. Давайте перейдем сразу к делу:
str = "Hello, Ruby World!"
# Метод 1: Использование индексов массива
substring = str[7, 4] # "Ruby"
puts substring
# Метод 2: Использование метода slice
slice = str.slice(7, 4) # "Ruby"
puts slice
# Метод 3: Регулярные выражения
match = str[/[Rr]uby/] # "Ruby"
puts match
# Метод 4: split и доступ к элементу массива
split_array = str.split # по умолчанию разделяет по пробелам
picked_word = split_array[2] # "World!"
puts picked_word
Пример вывода для каждого фрагмента будет “Ruby”, “Ruby”, “Ruby”, “World!” соответственно.
Подробнее
Раньше извлечение подстрок было более громоздким процессом. Но Ruby эволюционировал. Сегодня у вас есть методы и регулярные выражения в вашем распоряжении.
Вот что происходит за кулисами: [7, 4]
означает начать с 7-го символа и взять следующие 4. slice
- это просто методический способ сказать то же самое. С регулярным выражением /[Rr]uby/
это как сказать: “Поймай мне ‘Ruby’ или ‘ruby’, что найдешь первым.” split
разрезает строку на массив по каждому пробелу, и [2]
выбирает третье слово - помните, массивы начинаются с нуля.
Альтернативы? Конечно, у Ruby есть и другие. partition
, rpartition
, и match
тоже могут пригодиться. У каждого есть свое применение, но знание .slice
и регулярных выражений покрывает большинство нужд.
В конечном счете: извлечение подстрок - это о точной манипуляции текстом. Правильный инструмент означает чистый, эффективный код.
Смотрите также
- Документация Ruby по String: ruby-doc.org/core-2.7.0/String.html
- Регулярные выражения в Ruby: ruby-doc.org/core-2.7.0/Regexp.html
- Руководство по стилю Ruby о строках: rubystyle.guide/#strings