【问题标题】:Get text between brackets [duplicate]获取括号之间的文本[重复]
【发布时间】:2013-08-22 09:52:32
【问题描述】:

我有这个字符串:Charles de Gaulle, (Paris) [CDG]

我想在 JavaScript/jQuery 中得到 Paris。初始字符串可以有可变长度。

我试过这个:

var tab = "Charles de Gaulle, (Paris) [CDG]";
var tab2 = tab.split(','); 
var tab3 = tab2.split('[') 

【问题讨论】:

  • 你试过什么代码?
  • 1/ var tab = "戴高乐,(巴黎) [CDG]"; 2/ var tab2 = tab.split(','); var tab3 = tab2.split('[')
  • 最好的办法是先给出自己的想法,然后问别人。
  • 1/ var tab = "戴高乐,(巴黎) [CDG]"; 2/ var tab2 = tab.split(','); var tab3 = tab2.split('[') –
  • edit您的问题,而不是在 cmets 中发布代码。

标签: javascript jquery


【解决方案1】:

试试

var myString= "Charles de Gaulle, (Paris) [CDG]";
var result = myString.match(/\((.*)\)/);
alert(result[1]);  

DEMO

【讨论】:

  • 如果文本包含多个括号,你怎么能得到这些值?例如:var myString= "(Charles) de (Gaulle), (Paris) [CDG]"
【解决方案2】:

您可以使用.slice(begin,end) 代替.substring()

例如点击链接查看你的结果:http://jsfiddle.net/qhZq5/

【讨论】:

  • 这是迄今为止我找到的最好的答案,但是如果 '()' 中有多个单词实例,你怎么能做到这一点呢?目前这只适用于括号内的第一个单词。
【解决方案3】:

这是我的代码

"This is (my) text".match(/\(([^)]+)\)/)[1]

match() 返回一个数组 ["(my)","my"] 从中提取第二个元素。

【讨论】:

    【解决方案4】:

    试试这个:

    var str = "Charles de Gaulle, (Paris) [CDG]",
    pos = str.indexOf("(") + 1;
    str = str.slice(pos, str.lastIndexOf(")"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      相关资源
      最近更新 更多