2017-02-22 58 views
3

有一個字符串:如何使用RegExp在javascript中分割字符串?

var str = "a1c a12c a23c ac 1234 abc"; 

和正則表達式:

var re = /a(\d*)c/g; 

我想分裂str通過ac之間,結果我要的是:

['a','c a','c a','c a','c 1234 abc'] 

怎麼做?

+0

不應結果是[ '一個', 'C A', 'C A', 'C交流1234 ABC']? – marvel308

+0

@ marvel308對不起!爲什麼結果應該是'['a','c a','c a','c ac 1234 abc']'?我想要的結果是'['a','c a','c a','c a','c 1234 abc']'。我也想分開'ac'。 – Guo

回答

3

的一種方法是用特殊字符'-'在這種情況下),和分割與字符替換數字。

str.replace(/a(\d*)c/g, 'a-c').split('-'); 

var str = "a1c a12c a23c ac 1234 abc"; 
 
var re = /a(\d*)c/g; 
 

 
console.log(str.replace(re, 'a-c').split('-'));

0

你可以提前使用了積極的樣子。

var str = "a1c a12c a23c ac 1234 abc"; 
 

 
console.log(str.split(/\d*(?=\d*c.*a)/));

+0

謝謝!但是如果'str =「b1c a12c a23c ac 1234 abc」',結果是錯誤的。 – Guo

+0

@郭,請添加想要的結果。 –

+0

我想要的結果是'['b1c a','c a','c a','c 1234 abc']',實際上reslut是'['b','c a','c a' ,'c a','c 1234 abc']' – Guo