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

Node.js使用fs模块写入记事本文件格式异常如何调整

问题原因

你当前写入出现转义字符的核心原因是使用了JSON.stringify()处理字符串数组:JSON序列化会自动将换行符转义为\n,同时给每个字符串元素添加双引号、保留数组的方括号标识,才会出现你看到的多余字符。

调整方案

你不需要对数组做JSON序列化,直接将数组元素按规则拼接为普通字符串写入即可,同时可以对每段内容做空白字符裁剪:

const fs = require('fs');
var text = [];
var max_iteration = 226;

for (let i = 101; i < max_iteration; i++) {
  if (i == 126) i = 201;

  let html = `[${i}](endpoint-internal-d70)
      auth = ${i}
        aors = ${i}callerid = voicebot101 <101>
      
      [${i}](auth-userpass)
      password = ${i}
      username = ${i}

      [${i}](aor-single-reg)`;
  // 按需开启空白处理:移除每行首尾多余空格,保留你需要的缩进格式可以注释掉该行
  html = html.split('\n').map(line => line.trim()).join('\n');
  text.push(html);
  if (i + 1 === max_iteration){
      display(text);
      console.log('Last loop:', i + 1);
  }
}
function display(text) {
  // 用换行拼接数组元素,不要用JSON.stringify
  const outputContent = text.join('\n\n');
  fs.writeFile('write.txt', outputContent, err => {
    if (err) {
      console.log('Error writing file', err);
    } else {
      console.log('Successfully wrote file');
    }
  });
}

如果需要完全保留你示例中的缩进格式,只需要注释掉代码中的空白处理行即可,写入后不会再出现\n转义符、多余双引号和方括号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:54:03