簡體   English   中英

如何在js中僅使用.match(regEx)獲取沒有分隔符的內部字符串?

[英]How to get only internal string without delimiter with .match(regEx) in js?

您好,我正在嘗試使用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""]

如何僅獲取沒有屬性名稱的值?

您可以使用filtermap的組合來將正則表達式弄亂,而無需根據需要將元素的屬性獲取到數組中:

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);

小提琴的例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM