2017-02-22 60 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