”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 JavaScript 将大字符串拆分为 N 大小的块?

如何使用 JavaScript 将大字符串拆分为 N 大小的块?

发布于2024-11-08
浏览:139

How to Split Large Strings into N-Sized Chunks using JavaScript?

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

要有效地将大字符串拆分为大小为 N 的较小块,您可以使用JavaScript 中的 String.prototype.match 方法。此方法使您能够将正则表达式模式应用于字符串并提取匹配的子字符串。

使用 String.prototype.match:

将字符串拆分为 N-大小的块,您可以使用以下正则表达式模式:

/.{1,n}/g

其中 n 表示所需的块大小。例如,要将字符串拆分为大小为 2 的块,模式将为:

/.{1,2}/g

示例:

考虑字符串“1234567890”和块大小为 2。使用上述模式,您可以按如下方式拆分字符串:

"1234567890".match(/.{1,2}/g) 

这将产生以下数组:

["12", "34", "56", "78", "90"]

处理奇数大小的块:

如果字符串大小不是块大小的精确倍数,则最后一个块可能小于所需的大小。例如,如果字符串大小为 9,块大小为 2,则生成的数组将为:

["12", "34", "56", "78", "9"]

可复用函数:

可以将拆分逻辑封装成可复用函数:

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

性能注意事项:

尽管 match 方法在大多数情况下都很有效,但其性能可能会根据输入字符串的大小和使用的特定正则表达式模式。值得注意的是,对于大字符串,拆分操作可能需要一些时间,因此建议相应地测试和优化您的代码。

最新教程 更多>
  • 最佳软件比较中的顶级数据科学工具
    最佳软件比较中的顶级数据科学工具
    介绍 到 2024 年,数据科学将通过使用复杂的分析、人工智能和机器学习推动决策,继续改变业务。随着对熟练数据科学家的需求不断增加,对能够加快操作、提高生产力并提供可靠见解的强大工具的需求也在增加。但是,有这么多可用的选项,目前哪种软件最适合专业人士? 这项比较研究探讨了 2024...
    编程 发布于2024-11-08
  • 我如何将应用程序性能提高到
    我如何将应用程序性能提高到
    ⌛ 回顾时间 在我的上一篇博客中,我谈到了如何在短短 2 周内将应用程序大小从 75MB 减少到 34MB(查看!)。但这还不是全部,我还将我们应用程序的整体性能提高了 80%?. 让我们来看看如何!! ?传说 经过简单的一轮浏览后,我发现我们的应用程序中存在一些导...
    编程 发布于2024-11-08
  • Django 查询集可以通过模型属性过滤吗?
    Django 查询集可以通过模型属性过滤吗?
    按模型属性过滤 Django 查询集Django 模型上的查询通常使用标准过滤器根据预定义字段值选择特定实例。但是,如果您需要根据模型中定义的自定义属性进行过滤,该怎么办?您可以通过模型属性过滤查询集吗?不幸的是,Django 的过滤器主要运行在数据库级别,将它们转换为 SQL 命令以有效地检索数据...
    编程 发布于2024-11-08
  • 尽管配置正确,为什么我无法在 Laravel 中发送 TLS 电子邮件?
    尽管配置正确,为什么我无法在 Laravel 中发送 TLS 电子邮件?
    无法发送 TLS 电子邮件:解决 Laravel 证书验证错误尽管启用了不太安全的 Gmail 设置并正确配置了 Laravel 的 .env 文件,您在发送 TLS 电子邮件时遇到证书验证失败。错误消息表明 SSL 操作失败并且无法验证服务器证书。要解决此问题,如果您的操作系统没有自动管理受信任的...
    编程 发布于2024-11-08
  • 使用 Wasmtime 和 Wasm3 将 Golang 编译为 Wasm 时出现错误如何解决?
    使用 Wasmtime 和 Wasm3 将 Golang 编译为 Wasm 时出现错误如何解决?
    使用 Wasmtime 和 Wasm3 将 Golang 编译为 Wasm 时出现错误使用 GOOS=js 将 Golang 代码编译为 WebAssembly (Wasm) GOARCH=wasm go使用 Wasmtime 或 Wasm3 执行时,build -o main.wasm 可能会导致...
    编程 发布于2024-11-08
  • 如何访问 Iframe 的当前位置?
    如何访问 Iframe 的当前位置?
    访问 iframe 的当前位置:挑战和解决方法跨源资源共享 (CORS) 法规在尝试检索 iframe 时带来了重大挑战iframe 的当前位置。此安全措施可防止驻留在不同来源的 JavaScript 代码直接访问页面的 URL。虽然使用 JavaScript 访问 iframe 的 URL 不可行...
    编程 发布于2024-11-08
  • Spring Security 与 JWT
    Spring Security 与 JWT
    In this article, we will explore how to integrate Spring Security with JWT to build a solid security layer for your application. We will go through ea...
    编程 发布于2024-11-08
  • Google Sheets:如何花费数小时构建 SUMIFS
    Google Sheets:如何花费数小时构建 SUMIFS
    大家好!今天我想分享一个我创建的超级有用的脚本,用于解决日常生活中的常见问题。 如果您曾经尝试在 Google 表格中对“持续时间”求和,您可能已经注意到,SUMIF 和 SUMIFS 公式无法根据特定条件对事件或产品的持续时间求和。根据您需要执行的计算类型,这可能会成为一个障碍。但别担心! Goo...
    编程 发布于2024-11-08
  • WordPress 迁移插件终极指南
    WordPress 迁移插件终极指南
    迁移 WordPress 网站就像收拾房子搬到新房子一样。确保所有内容(内容、主题、插件、媒体文件甚至数据库)完美移动且没有任何损坏的挑战似乎令人望而生畏。但就像搬家公司让搬家变得更容易一样,WordPress 迁移插件简化了将网站从一台主机移动到另一台主机的复杂过程。 无论您是切换主机、从本地开发...
    编程 发布于2024-11-08
  • 如何使用稳健的解决方案增强 PHP 中的 HTML 抓取
    如何使用稳健的解决方案增强 PHP 中的 HTML 抓取
    PHP 中强大的 HTML 抓取解决方案由于其挑剔和脆弱的性质,在 PHP 中使用正则表达式进行 HTML 抓取可能具有挑战性。要获得更强大、更可靠的方法,请考虑使用专门构建的 PHP 包。强烈推荐的一个选项是 PHP Simple HTML DOM Parser。该库擅长处理 HTML(包括无效标...
    编程 发布于2024-11-08
  • 如何检测 Go 标准输入 (Stdin) 中的数据可用性?
    如何检测 Go 标准输入 (Stdin) 中的数据可用性?
    使用 Go 检测标准输入 (Stdin) 中的数据可用性在 Go 中,可以使用以下技术检查标准输入流 (os.Stdin) 中的数据:验证其文件大小。它的工作原理如下:os.Stdin 可以像任何常规文件一样对待,允许我们检查其属性。为此,我们使用 os.Stdin.Stat() 检索 FileIn...
    编程 发布于2024-11-08
  • Wasp:Web 开发中 Django 的 JavaScript 答案
    Wasp:Web 开发中 Django 的 JavaScript 答案
    Wasp v Django: Building a full stack application just got a lot easier Hey, I’m Sam, a backend engineer with a lot of experience with Django....
    编程 发布于2024-11-08
  • 如何在没有键盘中断的情况下通过按键中断 While 循环?
    如何在没有键盘中断的情况下通过按键中断 While 循环?
    通过按键中断 While 循环在使用 while 循环读取串行数据并将其写入 CSV 文件的场景中,您可能希望为用户提供终止循环以停止数据收集的选项。本文探讨了在不显式使用键盘中断的情况下实现此类功能的技术。一种简单的方法是利用 try- except 块来处理 KeyboardInterrupt ...
    编程 发布于2024-11-08
  • 周 oot 训练营学习
    周 oot 训练营学习
    我决定迈出大胆的一步,参加由 LuxDevHQ 组织的我的第一个数据职业训练营。这是一个为期 5 周的训练营,旨在培养实践数据技能。该训练营旨在让人们接触至少 4 个专业领域的各种数据技能。 第一周以信息会议开始,我进行了项目定向,并​​向我介绍了该项目并了解了整个项目的期望。 在这第一周,我学到了...
    编程 发布于2024-11-08
  • 如何使用 Homebrew 和 jenv 在 Mac OS X 上管理多个 Java 版本?
    如何使用 Homebrew 和 jenv 在 Mac OS X 上管理多个 Java 版本?
    在 Mac OS X 上管理多个 Java 版本由于 Java 管理其安装的方式,在 Mac OS X 上安装多个 Java 版本可能是一项挑战。不过,有一个解决方案可以让您轻松安装和管理不同的 Java 版本:Homebrew。使用 Homebrew 和 jenvHomebrew 是一个包管理器,...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3