Ruby / Rails - 从字符串中删除括号内的文本

时间:2012-01-03 06:04:08

标签: ruby-on-rails ruby string

如果以下列方式返回的数据:

  1. The Matrix(1999)
  2. Shawshank Redemption(1994)
  3. 只是想知道是否有一种简单的方法可以从字符串中删除年份和括号,例如删除(1999)?

    提前致谢。

2 个答案:

答案 0 :(得分:7)

只要嵌套括号不是问题,您只需使用正则表达式:

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

sub用给定的字符串替换表达式匹配的所有内容,在本例中为空字符串(无)。

  • \s*在开括号之前包含任意数量的空白字符
  • \(打开括号作为文字
  • .+匹配任何字符中的一个或多个
  • \)右括号作为文字
  • $匹配字符串的结尾 - 可选,如果要删除字符串中任何位置的带括号的文本,可以将其删除

答案 1 :(得分:1)

试试这个:

text = "The Matrix (1999)"

text[0..(text.rindex("(") - 1)]