我有这个字符串(我不能修改它)
"AAACCDEEB"
并且我想在值改变的时候将它拆分成一个数组。 在本例中,我有5个数组,如下所示
[['A','A','A'], ['C','C'], ['D'],['E','E'], ['B']]
你应该试试
"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);
告诉我接受它是否有帮助!!