Как взять часть строки между двух символов?

Рейтинг: -1Ответов: 2Опубликовано: 12.01.2023

Есть строка:

str = "Donna W (ONE-ADMIN)"

Мне нужно оставить только ONE-ADMIN Как вытащить часть строки между скобками?

Ответы

▲ 1

Можно использовать регулярку /\(([^)]*)\)/, в которой следует взять содержимое первой группы:

str = "Donna W (ONE-ADMIN)"

subs = str[/\(([^)]*)\)/, 1]

print subs
# => ONE-ADMIN

Можно воспользоваться поиском по индексу, но тогда лучше предварительно проверить, содержит ли строка пару скобок:

subs2 = str['('] && str[')'] ? str[str.index('(') + 1..str.index(')') - 1] : ''

print subs2
# => ONE-ADMIN
▲ 1

Решение нашел методом тыка

str.slice!(/\(.*\)/)[1..-2]