首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中将字符串拆分为三部分

如何在JavaScript中将字符串拆分为三部分
EN

Stack Overflow用户
提问于 2018-10-29 07:44:11
回答 2查看 337关注 0票数 -1

我尝试用JavaScript将字符串分成三部分,而不管字符串的长度如何。每个部分的长度不必与其他部分相同。

例如:

AABC:

  • 第1部分:AA
  • 第2部分:B
  • 第3部分: C

AABBC

  • 第1部分:AA
  • 第2部分:BB
  • 第3部分: C

aheuc

  • 第1部分:ah
  • 第2部分:eu
  • 第3部分: c

你好,世界

  • 第1部分:地狱
  • 第2部分:o wo
  • 第3部分: rld
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-29 08:18:00

我相信这个函数应该能达到你的预期目标:

代码语言:javascript
复制
function splitStringInThree(string) {
  if (string.length <= 3) return string.split('');
  
  const remainder = string.length % 3;
  const divisor = Math.floor(string.length / 3);
  
  const sep1 = remainder === 2 || remainder === 1 ? 1 : 0;
  const sep2 = remainder === 1 || remainder === 0 ? 0 : 1;
  
  const string1 = string.slice(0, divisor + sep1);
  const string2 = string.slice(divisor + sep1, (divisor * 2) + sep1 + sep2);
  const string3 = string.slice((divisor * 2) + sep1 + sep2);
  
  return [string1, string2, string3];
}

票数 2
EN

Stack Overflow用户

发布于 2018-10-29 08:23:12

如果你想要做的就是把一个字符串分成三个块(不管是什么模式或任何东西),那么下面的方法就适合你了。*

代码语言:javascript
复制
function splitChunks(string) {
    var regex = RegExp(".{1,"+Math.ceil(string.length/3)+"}", 'g');
    return string.match(regex);
}

我要做的是创建一个regex函数,将字符串拆分成块。我在这里唯一的“魔力”是将块长度设置为字符串的长度除以3(如您在regex变量中所见。

*唯一的问题是,它只能在字符串长度大于5的情况下工作。一些较短长度的字符串不会分割成3个的区块,因为没有足够的字符串可以很好地分割成3个区块。

输出示例:

代码语言:javascript
复制
> splitChunks("abcdefg");
  (3) ["abc", "def", "g"]

> splitChunks("abcdefghijk");
  (3) ["abcd", "efgh", "ijk"]

> splitChunks("abc");
  (3) ["a", "b", "c"]

> splitChunks("abcd"); // :(
  (2) ["ab", "cd"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53037074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档