一旦你劈行文字,您可以過濾和映射那些:
var lines = t.split('\n');
var asPattern = /^as \"(\w+)\"$/;
var bsPattern = /^bs \"(\w+)\"$/;
a = lines.filter(l => l.match(asPattern))
.map(l => l.replace(asPattern, "$1"));
b = lines.filter(l => l.match(bsPattern))
.map(l => l.replace(bsPattern, "$1"));
list.filter(predicate)
將返回匹配謂詞的項目的子表。在這裏,我們使用一個lambda函數作爲謂詞,只有當該行匹配模式時纔會返回true。
>lines
["kjnggnfgnfkjg", "", "as "bob"", "", "bs "alice"", "", "fmdklfmdlkfk", "", "as "Marc"", "", "bs "Julien"", "", "dfdlf"]
>lines.filter(l => l.match(/^as \"(\w+)\"$/))
["as "bob"", "as "Marc""]
list.map(transformationFunction)
將返回一個變換函數的應用程序的結果的列表的初始列表的每個元素。在這裏,我們重複使用相同的模式,並將其第一組用作替換。
>filteredLines
["as "bob"", "as "Marc""]
>filteredLines.map(l => l.replace(/^as \"(\w+)\"$/, "$1"))
["bob", "Marc"]
請分享您嘗試過的代碼嗎? –
我剛剛嘗試過從ajax請求接收的數據: 我使用data.split(''\ n「)爲了讀取每行... 但我無法使用常規表達式... 函數獲取(){.ajax({url:「../local/ exampleText」, dataType:「Text」, success:function(data){b = data.split(「 \ n「); console.log(data)}}); } – raoen
好吧,只是分享你的代碼,並告訴我們你試過了什麼正則表達式,所以我們可以幫你。 –