JavaScript/jQuery:使用循环将文本拆分为符号
我的文本内容如下:JavaScript/jQuery:使用循环将文本拆分为符号,javascript,jquery,split,Javascript,Jquery,Split,我的文本内容如下: var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf^..." 我想将文本拆分为第5次出现的^的倍数,并传递给带有^符号的函数 如果元素中有31个^,则:第5、第10、第15、第20、第25、第30个,然后剩余的应传递给函数(即第31个带有^) 我更喜欢for循环,如: var spl = text.split(); //up-to 5th multiple for(i=0; i
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf^..."
我想将文本拆分为第5次出现的^
的倍数,并传递给带有^
符号的函数
如果元素中有31个^
,则:第5、第10、第15、第20、第25、第30个,然后剩余的应传递给函数(即第31个带有^
)
我更喜欢for
循环,如:
var spl = text.split(); //up-to 5th multiple
for(i=0; i<spl.length; i++){
passfun(upto 5th^ with cap symbol)
}
试试这样的
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf^...";
var spl = text.split('^');
Array.prototype.chunk = function ( n ) {
if ( !this.length ) {
return [];
}
return [ this.slice( 0, n ) ].concat( this.slice(n).chunk(n) );
};
console.log(spl.chunk(5)[0].join('^')+'^');
更多信息
此处演示:
试试这样的方法
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf^...";
var spl = text.split('^');
Array.prototype.chunk = function ( n ) {
if ( !this.length ) {
return [];
}
return [ this.slice( 0, n ) ].concat( this.slice(n).chunk(n) );
};
console.log(spl.chunk(5)[0].join('^')+'^');
更多信息
此处演示:
您可以尝试以下方法:
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf",
temp = text.split('^');
for (i = 0; i < temp.length; i += 5) {
passfun(temp.slice(i, 5 + i).join('^') + ( i + 5 < temp.length ? '^' : ''));
}
var text=“asd^dfdfdf^dsfgdsfg^zdfsd^sdfsdf^dfsf^dsfsdf^dfsf^dfsf^sdfsdf”,
temp=文本分割(“^”);
对于(i=0;i
您可以尝试以下方法:
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf",
temp = text.split('^');
for (i = 0; i < temp.length; i += 5) {
passfun(temp.slice(i, 5 + i).join('^') + ( i + 5 < temp.length ? '^' : ''));
}
var text=“asd^dfdfdf^dsfgdsfg^zdfsd^sdfsdf^dfsf^dsfsdf^dfsf^dfsf^sdfsdf”,
temp=文本分割(“^”);
对于(i=0;i
你好,朋友,完美的一点点可能是长度修正,如果你有任何问题,那么就不需要了
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf^split^text^upto^5th^and^..";
//I want to split the text upto multiple of 5th occurrance of ^ and
//var abc = text.split("^").length - 1;
var counter = 0, index = 0;
var temp = 0, indexArr = [];
for (var i = 0; i < text.length; i++) {
index++;
if (text.charAt(i) == '^') {
counter++;
}
if (counter == 5) {
counter = 0;
myString(index);
}
}
function myString(tempindex) {
var tempString = '';
indexArr[temp] = tempindex;
if (temp == 0) {
tempString = text.substr(0, tempindex);
passfun(tempString);
temp++;
} else {
tempString = text.substr(indexArr[temp - 1], indexArr[temp - 1]);
passfun(tempString);
temp++;
}
return;
}
var text=“asd^DFDFDF^dsfgdsfg^zdfsd^sdfsdf^dfsf^dsfsdf^dfsf^sdfsdf^split^text^最多^5^和^;
//我想将文本拆分为第5次出现^和^的倍数
//var abc=text.split(“^”).length-1;
var计数器=0,指数=0;
var-temp=0,indexArr=[];
对于(变量i=0;i
你好,朋友,完美的一点点可能是长度修正,如果你有任何问题,那么就不需要了
var text = "asd^dfdf^dsfgdsfg^zdfsd^sdfsdf^dfsdf^dsfsdf^dfsdf^dfsf^sdfsdf^split^text^upto^5th^and^..";
//I want to split the text upto multiple of 5th occurrance of ^ and
//var abc = text.split("^").length - 1;
var counter = 0, index = 0;
var temp = 0, indexArr = [];
for (var i = 0; i < text.length; i++) {
index++;
if (text.charAt(i) == '^') {
counter++;
}
if (counter == 5) {
counter = 0;
myString(index);
}
}
function myString(tempindex) {
var tempString = '';
indexArr[temp] = tempindex;
if (temp == 0) {
tempString = text.substr(0, tempindex);
passfun(tempString);
temp++;
} else {
tempString = text.substr(indexArr[temp - 1], indexArr[temp - 1]);
passfun(tempString);
temp++;
}
return;
}
var text=“asd^DFDFDF^dsfgdsfg^zdfsd^sdfsdf^dfsf^dsfsdf^dfsf^sdfsdf^split^text^最多^5^和^;
//我想将文本拆分为第5次出现^和^的倍数
//var abc=text.split(“^”).length-1;
var计数器=0,指数=0;
var-temp=0,indexArr=[];
对于(变量i=0;i
我会在每个“^”上拆分,然后在for循环中将5个字符串添加到一行。@Poul Bak你会做小提琴吗?我会在每个“^”上拆分,然后在for循环中将5个字符串添加到一行。@Poul Bak你会做小提琴吗?检查一下。代码中最多^symbol ^symbol缺失请检查它。代码中最多^symbol ^symbol缺失最后一次删除+'^'最后一次删除+'^'