В сфере манипулирования строками подстроки играют решающую роль. Независимо от того, извлекаете ли вы часть строки, ищете определенный шаблон или выполняете анализ текста, в Ruby важно понимать, как работать с подстроками. В этой статье блога мы углубимся в различные методы управления подстроками в Ruby, сопровождаемые разговорными объяснениями и примерами кода.
-
String#slice:
Методsliceпозволяет извлечь подстроку из заданной строки на основе указанного диапазона или позиции индекса. Например:sentence = "I love Ruby programming!" substring = sentence.slice(2, 4) puts substring # Output: "love" -
String#[]:
Метод[]аналогиченsliceи предоставляет возможность извлекать подстроки, используя позиции диапазона или индекса. Вот пример:sentence = "I love Ruby programming!" substring = sentence[2..5] puts substring # Output: "love" -
String#sub и String#gsub:
Методыsubиgsubиспользуются для замены подстрок внутри строки. Методsubзаменяет первое вхождение, а методgsubзаменяет все вхождения. Рассмотрим следующий пример:sentence = "I love Ruby programming!" new_sentence = sentence.gsub("Ruby", "Python") puts new_sentence # Output: "I love Python programming!" -
String#scan:
Методscanсканирует строку и возвращает массив всех вхождений указанного шаблона. Вот пример:sentence = "I love Ruby programming, and Ruby is awesome!" matches = sentence.scan(/Ruby/) puts matches.inspect # Output: ["Ruby", "Ruby"] -
String#include?:
Методinclude?проверяет, существует ли подстрока внутри данной строки, и возвращает логическое значение. Например:sentence = "I love Ruby programming!" contains_love = sentence.include?("love") puts contains_love # Output: true -
String#index и String#rindex:
Методыindexиrindexвозвращают индексную позицию первого и последнего вхождения подстроки внутри строка соответственно. Вот пример:sentence = "I love Ruby programming and Ruby is my favorite language!" first_occurrence = sentence.index("Ruby") last_occurrence = sentence.rindex("Ruby") puts first_occurrence puts last_occurrence # Output: 7, 34