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

如何将字符串分成n个字符的段?

饶骁
2023-03-14
问题内容

如标题所示,我有一个字符串,我想分成 n个 字符的段。

例如:

var str = 'abcdefghijkl';

经过一些魔法之后n=3,它将变成

var arr = ['abc','def','ghi','jkl'];

有没有办法做到这一点?


问题答案:
var str = 'abcdefghijkl';

console.log(str.match(/.{1,3}/g));

注意: 使用{1,3}而不是仅{3}包括其余部分,该长度不是3的倍数,例如:

console.log("abcd".match(/.{1,3}/g)); // ["abc", "d"]

还有一些细微之处:

  1. 如果您的字符串可能包含换行符( 您希望将其视为一个字符而不是分割字符串 ),则.不会捕获这些换行符。使用/[\s\S]{1,3}/代替。(感谢@Mike)。
  2. 如果您的字符串为空,则当您期望一个空数组时match()返回null。通过附加来防止这种情况|| []

因此,您可能最终得到:

var str = 'abcdef \t\r\nghijkl';

var parts = str.match(/[\s\S]{1,3}/g) || [];

console.log(parts);



console.log(''.match(/[\s\S]{1,3}/g) || []);


 类似资料:
  • 问题内容: 我有一个字符串,我想分成N个相等的部分。 例如,假设我有一个长度为128的字符串,我想将其分成4个长度为32的块;也就是说,第一个32个字符,然后第二个32个字符,依此类推。 我怎样才能做到这一点? 问题答案: import textwrap print textwrap.wrap(“123456789”, 2) #prints [‘12’, ‘34’, ‘56’, ‘78’, ‘9’

  • 问题内容: 是否可以每个字符分割一个字符串? 例如,假设我有一个包含以下内容的字符串: 我怎样才能使它看起来像这样: 问题答案: 192 为了完整起见,你可以使用正则表达式执行此操作: 对于字符的奇数,你可以执行以下操作: 你还可以执行以下操作,以简化较长块的正则表达式: re.finditer如果字符串很长,则可以使用它逐块生成。

  • 问题内容: 有人知道是否有基于固态库的方法来实现以下目的。 说我有琴弦 我想根据逗号分隔符将其解析为2个字符串。 我希望字符串看起来像这样: 有任何想法吗? 问题答案:

  • 问题内容: 我正在尝试在字符串过滤器中使用此方法: 我希望这 还有这个 那是减去字符串的字符。 另外,假定过滤器在低于限制的第一个单词边界处剪切,例如 我很确定这应该与这些步骤一起使用 从终止符中减去终止符中的字符数 验证该字符串是否长于计算出的限制,或者将其保留不变 在计算的限制以下找到字符串中的最后一个空格字符以获取单词边界 如果找不到最后一个空格,则在最后一个空格处剪切字符串或计算出的限制

  • 问题内容: 在JavaScript中,这是我们如何在每个第3个字符处分割字符串 我试图弄清楚如何用Java做到这一点。有指针吗? 问题答案: 你可以这样: 产生: 正则表达式匹配一个空字符串,该字符串的最后一个匹配项()后跟三个字符(),前者()

  • 问题内容: 将字符串拆分为流的 最佳 方法是什么? 我看到了这些变化: 我的优先事项是: 坚固性 可读性 性能 一个完整的可编译示例: 问题答案: / 由于返回数组,因此我始终建议您使用流式处理数组的规范用法。 / 是一个 varargs 方法,它恰好接受一个数组,这是由于varargs方法是通过数组实现的,并且在将varargs引入Java以及改型为接受可变参数的现有方法时,存在兼容性方面的问题