You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现诗词字符串每四行后添加空行的技术求助

解决诗词文本每四行后添加空行的问题

你的原有代码逻辑完全偏离需求——你是在判断总行数是否能被5整除,然后直接拼接原字符串,这根本没法实现每4行后插入空行的效果。正确的思路是先把文本拆分成每行,遍历过程中按规则插入空行,最后重新拼接成字符串。

具体实现代码(JavaScript)

const poemValue = `aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
jjj
kkk
lll
mmm`;

// 分割文本为每行数组,兼容所有换行格式(\n、\r、\r\n)
const lines = poemValue.split(/\r?\n|\r/);
const processedLines = [];

for (let i = 0; i < lines.length; i++) {
  // 先将当前行加入结果数组
  processedLines.push(lines[i]);
  // 每4行后插入空行,但避免在最后一行末尾多加空行
  if ((i + 1) % 4 === 0 && i !== lines.length - 1) {
    processedLines.push('');
  }
}

// 将处理后的数组重新拼接为目标格式字符串
const formattedPoem = processedLines.join('\n');
console.log(formattedPoem);

代码说明

  1. 兼容换行分割:用split(/\r?\n|\r/)可以覆盖Windows、Linux、Mac系统的各种换行格式,确保每行都被正确拆分。
  2. 精准插入空行:循环时每添加一行就检查,当当前是第4、8、12...行时(通过(i+1)%4===0判断),并且不是最后一行,就插入一个空字符串,避免末尾多出不必要的空行。
  3. 重新拼接文本:用join('\n')把处理后的数组变回带换行的字符串,即可得到你需要的格式。

内容的提问来源于stack exchange,提问作者bart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:00:19