当前位置: 首页 > 面试题库 >

在JavaScript中将大字符串拆分为n个大小的块

江航
2023-03-14
问题内容

我想将一个非常大的字符串(例如10,000个字符)分割成N个大小的块。

就性能而言,最佳方法是什么?

例如: "1234567890"被2分割成["12", "34", "56", "78", "90"]

使用这种方法是否可能实现?String.prototype.match如果可以,从性能角度来看,这是否是最佳方法?


问题答案:

您可以执行以下操作:

"1234567890".match(/.{1,2}/g);
// Results in:
["12", "34", "56", "78", "90"]

该方法仍可用于大小不是块大小的整数倍的字符串:

"123456789".match(/.{1,2}/g);
// Results in:
["12", "34", "56", "78", "9"]

通常,对于要从中提取最多 n个 大小的子字符串的任何字符串,都可以执行以下操作:

str.match(/.{1,n}/g); // Replace n with the size of the substring

如果您的字符串可以包含换行符或回车符,则可以执行以下操作:

str.match(/(.|[\r\n]){1,n}/g); // Replace n with the size of the substring

就性能而言,我用大约1万个字符进行了尝试,而在Chrome上花了一点时间。YMMV。

这也可以在可重用的函数中使用:

function chunkString(str, length) {
  return str.match(new RegExp('.{1,' + length + '}', 'g'));
}


 类似资料:
  • 我想在JavaScript中使用空格作为分隔符将字符串分成固定大小的块(例如每个140个字符)(即它不应该分词),注意:它应该处理换行符目前我使用的是wordwrap npm包,但它不处理新行符。 它适用于普通文本,但如果文本包含新行标记,我会得到以下错误: syntaxerror:exports.runinthiscontext(VM.js:73:16) 在module._compile(mod

  • 问题内容: 我将如何能够采取像一个字符串 ,并将其分成4个长度元组像(,,) 问题答案: 用途:

  • 我有一个随机地址字符串,如 我想将其拆分为具有两个条件的字符串数组: 该字符串数组的每个元素的长度小于或等于20 字符串数组的元素没有尴尬的结尾 例如,每20个字符拆分将产生: 但正确的输出是: 注意字符串数组中的每个元素是如何小于或等于20的。 以上是我对这段代码的输出:

  • 本文向大家介绍JavaScript 将字符串拆分为数组,包括了JavaScript 将字符串拆分为数组的使用技巧和注意事项,需要的朋友参考一下 例子 用于.split从字符串到拆分子字符串的数组: 使用数组方法 .join返回字符串:            

  • 问题内容: 我有这串 如何将此字符串拆分为每个子字符串包含2个字符的子字符串?我很困惑,因为我找不到分隔符来分隔它们。 问题答案:

  • 问题内容: 有没有一种方法可以将字符串(从特定列)拆分为n个字符,而又不打断单词,每个结果都在自己的行中? 例子: 结果: 我知道我可以用来找到最后一个空间,但是我不确定如何获取剩余的空间并将其作为行返回。 问题答案: 尝试这样的事情。可能是您可以创建以下实现的SQL函数。 输出将是这样的: