如何在TypeScript中按字符遍历字符串并按15字符分段存入数组?
如何将字符串按每15个字符分段存入数组?
你的现有代码逻辑是逐个字符累加,然后把每一步的累积结果存入数组对应索引,这会导致数组每个元素是从开头到当前位置的所有字符,完全不符合每15个字符分段的需求。
以下是两种正确的实现方式:
方法一:按步长循环截取
通过设置步长为15的循环,使用slice方法截取对应区间的子串,再推入数组:
const Inctext = "1234567890123456789012345678901234567890123456789012345678901234567890"; const newData: string[] = []; const chunkSize = 15; for (let i = 0; i < Inctext.length; i += chunkSize) { const chunk = Inctext.slice(i, i + chunkSize); newData.push(chunk); } console.log(newData); // 输出结果: // ["123456789012345", "678901234567890", "123456789012345", "678901234567890", "123456789012345", "6789012345"]
方法二:正则表达式匹配
利用正则表达式全局匹配1到15个字符的片段,直接生成目标数组:
const Inctext = "1234567890123456789012345678901234567890123456789012345678901234567890"; const newData = Inctext.match(/.{1,15}/g) || []; console.log(newData); // 输出结果和方法一一致
两种方法说明
- 方法一逻辑清晰,便于后续对每个分段做额外处理(比如格式校验、转换)。
- 方法二代码简洁高效,正则表达式会自动处理最后一段不足15个字符的情况。
内容的提问来源于stack exchange,提问作者SalProgrammer
相关产品推荐
相关产品推荐

