提问者:小点点

Javascript中值变化时如何拆分字符串


我有这个字符串(我不能修改它)

"AAACCDEEB"

并且我想在值改变的时候将它拆分成一个数组。 在本例中,我有5个数组,如下所示

[['A','A','A'], ['C','C'], ['D'],['E','E'], ['B']]

共2个答案

匿名用户

你应该试试

"AAACCDEEB".match(/(.)\1*/g) 

它应该给你[“AAA”,“CC”,“D”,“EE”,“B”]

它与正则表达式一起工作,这个表达式是:

/(.)\1*/g)

并匹配同一个字符后跟0次或多次的任何单个字符。

您还可以看到一些关于正则表达式的文档,它在这类情况下非常有效!

如果我的答案对你有帮助,请毫不犹豫地接受它作为一个答案:)

匿名用户

所以也许会是:

 var string = "AAACCDEEB";
 var strArray = [[], [], [], [], []];
for(var x = 0; x <= (strArray.length-1); x++){
var val1 = 'A';
var val2 = 'C';
var val3 = 'D';
var val4 = 'E'
var val5 = 'B';
for(var n = 0; string[x] == val1; n++){
strArray[0][n] = string[x];
}
for(var m = 0; string[x] == val2; m++){
strArray[1][m] = string[x];
}
for(var o = 0; string[x] == val3; o++){
strArray[2][o] = string[x];
}
for(var z = 0; string[x] == val4; z++){
strArray[3][z] = string[x];
}
for(var i = 0; string[x] == val5; i++){
strArray[4][i] = string[x];
}

}
document.write(strArray);

告诉我接受它是否有帮助!!

相关问题