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

Есть строка:

str = "Donna W (ONE-ADMIN)"

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


Ответы (2 шт):

Автор решения: Nowhere Man

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

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
→ Ссылка
Автор решения: Sergey Ofitserov

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

str.slice!(/\(.*\)/)[1..-2]
→ Ссылка