Javascript substring无法按预期使用长字符串

时间:2018-06-15 01:31:22

标签: javascript

我有一个非常长的字符串,其中包含来自富文本编辑器的代码。我需要将其拆分为4个部分以将其保存到数据库中。我这样做。

var fullPart = $('#summernote').summernote('code').replace("'", "\'");
var markupStr = fullPart.substring(0, 3000000);
var markupStr2 = fullPart.substring(3000000, 3000000);
var markupStr3 = fullPart.substring(6000000, 3000000);
var markupStr4 = fullPart.substring(6000000);

markupStr,markupStr3和markupStr4都包含值,但markupStr2为空。我做错了什么?

2 个答案:

答案 0 :(得分:3)

var markupStr2 = fullPart.substring(3000000, 3000000);

解释:此处的开始和结束索引相同,这就是您获得空结果的原因。

查看here了解详情。

  

str.substring(indexStart[, indexEnd])

     

indexStart 要包含在返回的第一个字符的索引   串。

     

indexEnd 可选。要排除的第一个字符的索引   返回的子字符串。

答案 1 :(得分:0)

这是一个简单的错误。 fullpart.substring(3000000,3000000)将返回长度为3,000,000 - 3,000,000个字符(0个字符)的字符串。正确的方法是:

var fullPart = $('#summernote').summernote('code').replace("'", "\'");
var markupStr = fullPart.substring(0, 3000000);
var markupStr2 = fullPart.substring(3000000, 6000000);
var markupStr3 = fullPart.substring(6000000, 9000000);
var markupStr4 = fullPart.substring(12000000);