我想将字符串拆分为不同的部分。我将有一些动态生成的字符串,其中包含500个字符。我想分成5个部分。我的意思是我想将100
个字符转移到array[0]
,100
中的下一个array[1]
字符....
示例:
var string = "kjfaorj.......................................................";
array[0] = "kjfaorj..... up to 100 characters";
array[1] = " next 100 characters ";
..........................
..........................
答案 0 :(得分:5)
if(str.length % 100 == 0) //If the string contains exactly 500 or 400...etc
count = str.length / 100;
else
count = str.length / 100 +1; //If the string contains exactly 505 or 417...etc
for(var i=0;i<count;i++)
array[i] = s.substring(i*100,(i*100)+(100));
第二种方法适用于动态字符串
答案 1 :(得分:1)
试试这个:
var string= "kjfaorj.......................................................";
var array=[];
array[0] = string.substring(0,99);
array[1] = string.substring(100,199);
array[2] = string.substring(200,299);
array[3] = string.substring(300,399);
array[4] = string.substring(400,499);
答案 2 :(得分:1)
以下循环将以100个字符的形式拆分任何字符串。数组的最后一个元素将包含剩余的字符数(但不超过100)。 如果你确定你的初始字符串将包含正好500个字符,你将总是得到一个包含五个元素的数组,每个元素包含100个字符。
var str = "kjfaorj....................................................... etc.";
for(var arr = [], i = 0; i < str.length - 1; i += 100) {
arr.push(str.substr(i, 100));
}
substr和substring之间的区别在于substr
期望子字符串的长度,而substring
期望第一个和最后一个索引。
答案 3 :(得分:0)
正如我在你的问题中看到“jquery”标签,我想介绍我强大的JQuery插件。 它的String As JQuery 此插件的一个功能是将String转换为Array:String的每n个连续字符是此Array中的一个项目。
语法
var myarray=$(myString).toStrArray(eachN);
对于你的情况,你可以使用它如下;
var string = "kjfaorj.......................................................";
var myarray=$(string).toStrArray(100);
答案 4 :(得分:0)
这是任何字符串长度的更通用的函数:
function splitupString(str,chunklen){
str = str.split('');
var chunks = Array((str.length/chunklen)^0).join(',').split(',');
return chunks
.map(function(){return this.splice(0,chunklen).join('');},str)
.concat(str.join(''));
}
// usage example
var strsplitted = splitupString('123456789012345678901234567890123',5);
//=> [12345,67890,12345,67890,12345,67890,123]
jsFiddle示例
答案 5 :(得分:0)
如果您需要将字符串拆分为恰好100个字符的块
var foo = bar.match(/.{100}/g);
如果您需要拆分为不超过100个字符的块,那么
var foo = bar.match(/.{1,100}/g);