从字符串化Javascript函数中提取子字符串
我需要从以下函数中提取id从字符串化Javascript函数中提取子字符串,javascript,replace,extract,Javascript,Replace,Extract,我需要从以下函数中提取idpKmuXgem(作为字符串返回): “someFunction('Short Description','','pKmuXgem');返回false;” id可能会更改,但周围的标记应该保持不变。我可以做一个简单的字符串替换: var str = "someFunction('Short Description','','pKmuXgem'); return false;"; var id = str.replace("someFunction('Short Desc
pKmuXgem
(作为字符串返回):
“someFunction('Short Description','','pKmuXgem');返回false;”
id可能会更改,但周围的标记应该保持不变。我可以做一个简单的字符串替换:
var str = "someFunction('Short Description','','pKmuXgem'); return false;";
var id = str.replace("someFunction('Short Description','','", "");
id = str.replace("'); return false;", "");
但这感觉很脆弱
什么是最佳实践?您可以使用正则表达式
这将是防弹的解决方案……这假设字符串中只有
[a-zA-Z]
。为什么?它可以是任何东西,除了一句话。
var data = "someFunction('Short Description','','pKmuXgem'); return false;";
var match = /,'([^']+?)'\)/g.exec(data);
console.log(match[1]);