使用jQuery在尖括号之间查找子字符串

时间:2015-11-19 18:38:11

标签: javascript jquery

我有以下字符串:

abc <abc@gmail.com>, def <def@gmail.com>

我想只在&lt;&gt;之间获得价值。 输出应该像:

abc@gmail.com,def@gmail.com

我如何使用jQuery做到这一点?

3 个答案:

答案 0 :(得分:3)

这不需要jQuery。

您可以使用正则表达式interface IVersion_1 { WeirdDad Weird { get; set; } } interface IVersion_2 { WeirdChild Weird { get; set; } } class Version_1 : IVersion_1 { public string Name { get; set; } public int Age { get; set; } public WeirdDad Weird { get; set; } public MysteriousDad Mysterious { get; set; } } class Version_2 : Version_1, IVersion_2 { public string IdentityCode { get; set; } WeirdChild IVersion_2.Weird { get; set; } } 来捕获括号之间的字符。

Example Here

/\<(.*?)\>/g

输出:

var matches = [];
'abc <abc@gmail.com>, def <def@gmail.com>'.replace(/\<(.*?)\>/g, function(_, match){
  matches.push(match);
});

console.log(matches.join(','));

答案 1 :(得分:1)

你可以这样做:

'abc <abc@gmail.com>, def <def@gmail.com>'.replace(/.*?<([^>]+)>/g,",$1").substring(1);

答案 2 :(得分:0)

,分割字符串,然后找到<>的位置,然后执行子字符串

$(function(){

  var s="abc <abc@gmail.com>, def <def23@gmail.com>";
  var sa= s.split(',');
  $.each(sa,function(i,item){      

    var start=item.indexOf("<");
    var end=item.indexOf(">");

    var email= item.substring(start+1,end);
    console.log(email);

  });

});

示例jsBin here