你好,我正在尝试用 js 解析 xml 字符串。我的字符串类似于下面的字符串。我正在使用 .match() 函数和正则表达式。
var str='<rate val="xyz"></rate> <rate val="klm"></rate> <rate val="mnp"></rate>';
var result=str.match(/val="(.+?)"/g);
我想得到一个结果数组,例如:
["xyz","klm","mnp"]
但它给了我作为
["rate val="xyz"","rate val="klm"","rate val="mnp""]
如何只获取没有属性名称的值?
最佳答案
您可以使用 filter
和 map
的组合来根据需要将元素的属性获取到数组中,而不是使用正则表达式:
var str = '<rate val="xyz"></rate> <rate val="klm"></rate> <rate val="mnp"></rate>';
var result = $(str).filter('rate').map(function() {
return $(this).attr('val');
}).get();
console.log(result);
关于javascript - 如何在js中使用.match(regEx)仅获取没有分隔符的内部字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27384253/