我有以下字符串:
abc <abc@gmail.com>, def <def@gmail.com>
我想只在&lt;&gt;之间获得价值。 输出应该像:
abc@gmail.com,def@gmail.com
我如何使用jQuery做到这一点?
答案 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; }
}
来捕获括号之间的字符。
/\<(.*?)\>/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