Node.js处理翻译文件:为字符串末尾补全双引号求助
解决翻译文件字符串末尾补全双引号的问题
看起来你是在把properties格式的翻译条目转换为带双引号的键值对格式,目前的处理结果出现了多余空格、末尾缺失双引号还混入了//的问题,我来帮你搞定!
方案一:正则表达式批量替换(高效首选)
不管你用VS Code、Sublime Text还是Notepad++这类编辑器,都支持正则查找替换,这是批量处理这类问题最省心的方式。
精准匹配的正则规则:
- 查找正则:
^([^=]+)\s*=\s*(.*?)\s*(//.*)?$ - 替换内容:
"$1" : "$2"
正则各部分的作用:
^([^=]+):精准抓取等号前的键名(包含下划线、字母等所有非等号字符),避免混入多余空格\s*=\s*:匹配等号以及前后的任意空格,直接过滤掉这些冗余空格(.*?):非贪婪匹配等号后的翻译内容,直到遇到行尾或者注释符号\s*(//.*)?:匹配行尾可能存在的注释内容(如果有的话),不会把注释带到最终结果里
操作步骤(以VS Code为例):
- 打开你的翻译文件
- 按下
Ctrl+H打开替换面板 - 点击面板右上角的「正则表达式」按钮(图标是
.*) - 把上面的查找正则和替换内容分别输入对应框
- 点击「全部替换」,就能一键得到你想要的标准格式了
方案二:手动修正单条内容(适合少量异常行)
如果只有少数几行出问题,直接手动调整也很简单:
- 删掉键名前后的多余空格,给键名加上首尾双引号
- 删掉翻译内容前的空格,给内容加上首尾双引号
- 把末尾的
//删掉,确保格式是"键名" : "翻译内容"
比如你当前错误的结果:
"_your_report_is_being_prepared " : " Your report is being prepared //
手动修正后就是:
"_your_report_is_being_prepared" : "Your report is being prepared"
内容的提问来源于stack exchange,提问作者bogere goldsoft
相关产品推荐
相关产品推荐

