javascript-如何每X个字符分解一个字符串?

javascript-如何每X个字符分解一个字符串?,javascript,Javascript,如何每X个字符分解一个字符串?例如,我想每1000个字符分解一个很长的字符串,而这个字符串每次都可能是完全随机的 var string=您可以使用: 当然,用1000替换3 下面是一个人为的例子: 作为一项功能: function splitInto(str, len) { var regex = new RegExp('.{' + len + '}|.{1,' + Number(len-1) + '}', 'g'); return str.match(regex ); }

如何每X个字符分解一个字符串?例如,我想每1000个字符分解一个很长的字符串,而这个字符串每次都可能是完全随机的

var string=
您可以使用:

当然,用1000替换3

下面是一个人为的例子:
作为一项功能:

function splitInto(str, len) {
    var regex = new RegExp('.{' + len + '}|.{1,' + Number(len-1) + '}', 'g');
    return str.match(regex );
}
function getParts(str, len)
{
    var res = [];
    ​while (str.length) {
        res.push(str.substring(0, len));
        str = str.substring(len);
    }
    return res;
}
var s = "qweasedzxcqweasdxzc12";
console.log(getParts(s, 10));
如果您有一个要拆分的设置数字(如1000),则该RegExp实际上只需要创建一次。

如下所示:

var myString = "my text string that is thousands of characters long";
var myCurrentString = "";
var myBrokenUpString = new Array();

for(var i = 0; i < myString.length; i++) {
    myCurrentString += myString.charAt(i);

    if(i % 1000 == 0) {
        myBrokenUpString.push(myCurrentString);
        myCurrentString = "";
    }

    if(i + 1 == myString.length) myBrokenUpString.push(myCurrentString);
}
var myString=“数千个字符长的我的文本字符串”;
var myCurrentString=“”;
var myBrokenUpString=新数组();
for(var i=0;i
请注意,上述代码未经测试,可能包含错误

然后,您可以发布阵列并在另一端将其重新拼接在一起。拼凑在一起的代码如下所示:

var myRestoredString = "";
for(var i = 0; i<myBrokenUpString.length; i++)  {
    myRestoredString += myBrokenUpString[i];
}
var myRestoredString=”“;
对于(var i=0;i请尝试此函数:

function splitInto(str, len) {
    var regex = new RegExp('.{' + len + '}|.{1,' + Number(len-1) + '}', 'g');
    return str.match(regex );
}
function getParts(str, len)
{
    var res = [];
    ​while (str.length) {
        res.push(str.substring(0, len));
        str = str.substring(len);
    }
    return res;
}
var s = "qweasedzxcqweasdxzc12";
console.log(getParts(s, 10));

我会在字符串上使用substring函数

     str = //the given string
     arr = [];

     for(i=0;i<str.length;i+=1000)
     {
        s = i;
        // if the last string is less than 1000chars
        e = (str.length - i) > 1000 ? (i+1000) : (str.length - i); 
        arr.push = str.substring(s,e);
     }
str=//给定的字符串
arr=[];
对于(i=0;i 1000?(i+1000):(str.length-i);
arr.push=str.substring(s,e);
}

这里有一种递归的方法:

var string = "my text string that is thousands of characters long";

var arr = [];

function div( str, len ) {

    if( str.length < len )
        return arr.push(str);
    else
        arr.push(str.substring(0,len))

    div( str.substring(len), len );
}

div( string, 5 );

for( var i = 0; i < arr.length; i++ ) {
    document.write( arr[i] + "<br/>");  
}

/* output:

my te
xt st
ring 
that 
is th
ousan
ds of
char
acter
s lon
g


*/
var string=“数千个字符长的我的文本字符串”;
var-arr=[];
功能分区(str、len){
如果(长度小于长度)
返回arr.push(str);
其他的
arr.push(str.substring(0,len))
div(str.substring(len),len);
}
分区(字符串,5);
对于(变量i=0;i”;
}
/*输出:
我的te
xt街
戒指
那个
是th吗
欧桑
ds of
烧焦
演员
斯隆
G
*/

借用Joe Tuskan的想法:

var str = 'asdfasdfasdfasdf';
var len = 3;
var regex = new RegExp(".{"+len+"}", "g");
var trail = str.length - (str.length % len);

var parts = str.match(regex);
parts.push(str.substring(trail));

document.write(parts.join('<br>'));
var str='asdfasdfasdfasdf';
var-len=3;
var regex=newregexp(“.{”+len+“}”,“g”);
var trail=str.length-(str.length%len);
var parts=str.match(regex);
零件。推(str.substring(trail));
document.write(parts.join(“
”);

分解并处理这些部分?将它们包装起来?将它们添加到数组或变量中?不,保持原样,通过POST发送,然后我将在后端将它们拼合在一起。您可以
substring()
取字符串的
长度
的模数和数量
x
后的字符串,以确定分割数。可以使用哪些字符?正则表达式可能会陷入大文本块的泥潭。任何字符都可以,可能类似于十六进制值或HTML代码,但如果不可以,我将URL编码HTML代码这种情况是会发生的。如果可以避免的话,不要将“.”用于大的文本块。您将对索引进行1000次检查,但不包括3个模糊的空白字符。