CNode

一个node中的字符串问题

问答
HHiufan发布于10 年前最后回复10 年前5 回复4666 浏览0 收藏

864F72E2-4AD0-4185-BB51-F32C7F58A2A3.png 如图, 第一个,是用fs.readFileSync从文件中直接读取的内容,打印时是有格式的。 第二个,是用正则从文本中匹配到的,打印时带有换行符。 想请问一下大家,有没有办法将第二个的字符串转换成第一种呢。

查看回复

回复 (5)

D
DevinXian#1·10 年前

上下文代码?不行自己处理下

M
magicdawn#2·10 年前
console.log($3.replace(/\\n/g, '\n'))
H
Hiufan#3·10 年前
引用 magicdawn

@magicdawn 这么说就有思路了。立马写了个函数来处理:

var escapeSpecialChars = function(str) {
    return str.replace(/\\n/g, '\n')
               .replace(/\\'/g, "\'")
               .replace(/\\"/g, '\"')
               .replace(/\\r/g, '\r')
               .replace(/\\t/g, '\t')
               .replace(/\\v/g, '\v')
               .replace(/\\f/g, '\f');
};

不过还是有点不太理解这是为什么

S
slclub#4·10 年前

理解吗,就是,你用字符串输出 \n 你得怎么写呢 console.log("\n"); // 输出字符 \n 换行符打印呢 是 console.log("\n");// 输出换行符

这就是为什么要替换呢

参与回复
登录后即可参与回复。登录