Ruby / Rails - Удалить текст внутри скобок из строки - PullRequest
0 голосов
/ 03 января 2012

Если данные возвращаются следующим образом:

  1. The Matrix (1999)
  2. Shawshank Redemption (1994)

Просто интересноЕсть простой способ удалить год и скобки из строки, например, удалить (1999)?

Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 03 января 2012

Пока вложенные скобки не являются проблемой, вы можете просто использовать регулярное выражение:

text.sub /\s*\(.+\)$/, ''

sub заменяет все, что соответствует выражению, данной строкой, в данном случае - пустой строкой (ничего).

  • \s* включает любое количество пробельных символов перед открывающей скобкой
  • \( открывающая скобка как литерал
  • .+ соответствует одному или нескольким любым символам
  • \) закрывающая скобка как литерал
  • $ соответствует концу строки - необязательно, вы можете не указывать это, если хотите удалить текст в скобках в любом месте строки
1 голос
/ 03 января 2012

Попробуйте это:

text = "The Matrix (1999)"

text[0..(text.rindex("(") - 1)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...