本文介绍使用 Node.js 的 fs 模块和正则表达式,精准定位含 (C) 的独立行,将其移至前一行末尾并删除原行,适用于自动化处理生成的 TXT 文件。
本文介绍使用 node.js 的 `fs` 模块和正则表达式,精准定位含 `(c)` 的独立行,将其移至前一行末尾并删除原行,适用于自动化处理生成的 txt 文件。
在实际文本处理场景中(如日志标记、模板生成或文档注释自动化),常需将特定标记(如 (C))从独立行“上提”至其逻辑父行末尾。但原始方案中使用的正则 /r?n?.*(C).*$/gm 存在明显缺陷:它会错误匹配行内含 (C) 的内容(如 Wor(C)d1),并将整行替换为 " (C)",导致数据丢失或格式错乱——这与“仅处理独立 (C) 行”的需求不符。
✅ 正确思路应为:
以下是健壮、可复用的实现:
const fs = require('fs');function mergeCLine(filePath) { const content = fs.readFileSync(filePath, 'utf8'); // 匹配:行首可选空白 + (C) + 行尾可选空白,且前后均有换行(或开头/结尾) // 使用捕获组保留前一行,并安全替换 const result = content .replace(/(^|n)([^n]+?)s*ns*(C)s*(?=n|$)/g, '$1$2 (C)') .replace(/ns*(C)s*$/g, ' (C)'); // 处理文件末尾的 (C) fs.writeFileSync(filePath, result); return result;}// 示例调用console.log(mergeCLine('./myFile.txt'));
? 关键说明:
⚠️ 注意事项:
此方法简洁、可靠,可无缝嵌入构建脚本或后端服务,在每次生成 TXT 文件后自动完成语义化格式修正。
阿里云百炼Token Plan和Coding Plan省钱订阅计划:如何选择?有哪些区别?
最新:阿里云万小智收费价格:活动15元1个月:180元1年:轻量版、标准版及高级版功能支持
移动端的AI助手不应只是客服窗口:更应借助AI能力将小程序服务变成可调用能力
AI搜索引用到客户咨询:中间隔着三层数据漏斗
【码道代码智能体】码道界面焕新:AI 懂需求 开发更顺手
CodexBar:把 AI 编码额度接入 macOS 菜单栏