从长串中取出许多部分的弦

时间:2016-01-14 13:38:14

标签: javascript

我有一个相当长的String

var str = "[FirmLegalEntity [firmLegalEntityCode=F2, name=Global Markets Limited, shortName=CMP, firmLeCodeShortName=null], FirmLegalEntity [firmLegalEntityCode=D7, name=BHG SINGAPORE LIMITED, shortName=CGL, firmLeCodeShortName=null]]"

我需要所有firmLegalEntityCode s。

我已尝试使用Str.shift("=,"),但这远远不及所需的输出。

还有一个问题是字符串中的其他值被=,包围。

2 个答案:

答案 0 :(得分:2)

试试正则表达式:

var re = /firmLegalEntityCode=([^,]*),/g;
var s = '[FirmLegalEntity [firmLegalEntityCode=F2, name=Global Markets Limited, shortName=CMP, firmLeCodeShortName=null], FirmLegalEntity [firmLegalEntityCode=D7, name=BHG SINGAPORE LIMITED, shortName=CGL, firmLeCodeShortName=null]]';
var m;
while (m = re.exec(s)) {
    console.log(m[1]);
}

答案 1 :(得分:0)

我的版本

var str = "[FirmLegalEntity [firmLegalEntityCode=F2, name=Global Markets Limited, shortName=CMP, firmLeCodeShortName=null], FirmLegalEntity [firmLegalEntityCode=D7, name=BHG SINGAPORE LIMITED, shortName=CGL, firmLeCodeShortName=null]]";

var leg = str.match(/firmLegalEntityCode\=.{2}/g).map(function(str) {
  return str.split("=")[1]
});
console.log(leg)