如何在Javascript中值更改时拆分字符串
我有这个字符串(我不能修改它) 当值改变时,我想把它分割成一个数组。在这个例子中,我有5个这样的数组如何在Javascript中值更改时拆分字符串,javascript,arrays,string,split,Javascript,Arrays,String,Split,我有这个字符串(我不能修改它) 当值改变时,我想把它分割成一个数组。在这个例子中,我有5个这样的数组 [['A','A','A'], ['C','C'], ['D'],['E','E'], ['B']] 你应该试试 "AAACCDEEB".match(/(.)\1*/g) 它应该给你[“AAA”,“CC”,“D”,“EE”,“B”] 它与正则表达式一起工作,如下所示: /(.)\1*/g) 和匹配同一字符后面0或多次的任何单个字符 你也可以看到一些关于正则表达式的文档
[['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);
var string=“AAACCDEEB”;
var strArray=[]、[]、[]、[]、[]、[]、[];
对于(var x=0;x,到目前为止您尝试了什么?关于'AACCAA'
,它会变成[['A','A'],['C','C'],['A','A']].
请显示您最近在@evolutionxbox Yes中尝试解决这个问题的情况。这个字符串存储在哪里(var)?为什么不能修改if?您如何知道它已更改?为什么要将它拆分为一个数组+为什么只在它更改后才进行?您使用该数组的目的是什么?您尝试了什么?您是否按照自己的意愿拆分了任何数组?
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);