我開始學習JavaScript中的正則表達式,我可以這樣做嗎?如何通過正則表達式分割字符串,同時保持分離器在數組中
想象我有以下字符串:
Car ball car ball circle happy
而且我想通過全部,而不是球匹配,就像一個輸出:
["Car", "car", "circle happy"]
或者拆分當我發現球在我的字符串中:
["Car", "ball", "car", "ball", "circle happy"]
我該怎麼做?
我開始學習JavaScript中的正則表達式,我可以這樣做嗎?如何通過正則表達式分割字符串,同時保持分離器在數組中
想象我有以下字符串:
Car ball car ball circle happy
而且我想通過全部,而不是球匹配,就像一個輸出:
["Car", "car", "circle happy"]
或者拆分當我發現球在我的字符串中:
["Car", "ball", "car", "ball", "circle happy"]
我該怎麼做?
您可能分裂與/(ball)/
(或佔一整個詞,在模式周圍添加\b
字邊界)。用捕捉括號的整個模式將輸出匹配的字符串部分到結果數組中。
var s = 'Car ball car ball circle happy';
console.log(s.split(/(ball)/).map(function(x) { return x.trim();}));
如果您不需要ball
是導致陣列輸出,省略捕獲括號,用區區/ball/
。
如果您需要使模式不區分大小寫,請使用/i
修飾符:/(ball)/i
。
您可以通過'ball'
拆分得到你的答案爲:
["Car", "car", "circle happy"]
或者通過'(ball)'
得到你的答案爲:
["Car","ball","car","ball","circle happy"]
var str="Car ball car ball circle happy";
var vals=str.split(/ball/i).map(String.trim);
console.log(vals);
// Or
var valsAll=str.split(/(ball)/i).map(String.trim);
console.log(valsAll);
您不需要在JavaScript中使用正則表達式分割操作的'g'修飾符,這是默認行爲。 –
示例輸入不足。 – revo
嗨,歡迎來到StackOverflow!請務必閱讀[如何問](https://stackoverflow.com/help/how-to-ask)以確保您獲得高質量的答案! – mhutter
我的意思是像(只有當你發現「球」時分裂) –