如何转义字符串“ \\ r \\ n”

时间:2019-03-05 11:46:14

标签: javascript node.js

我收到的字符串如下:

"\\r\\n    "

"\\r  \\n"

"\\n  \\r  "

等来自第三方API。

在将它们存储到数据库之前,我需要将它们转换为空字符串。如何在Node.js中适当地清理它们?

我可以使用.replace,但我想确保抓住所有的极端情况。

3 个答案:

答案 0 :(得分:1)

尝试一下:

console.log("\\n  \\r  ".replace(/\\(n|r)\s*/g,""));

答案 1 :(得分:1)

考虑到您只想用空格字符类或转义的空格字符以外的任何值替换字符串。

let str = `"\\r\\n    "
"\\r  \\n"
"\\n  \\r  "
"\\n  \\r  Hello"
`

let op = str.replace(/^"(?:\\r|\\n|\s)*"?$/gm,'')

console.log(op)

答案 2 :(得分:0)

尝试(我将\\\\r用作slashesh作为JS中的转义字符来流行地生成您的输入字符串-显示在控制台上)

let input="  \\\\r  \\\\n    ";
let output= input.replace(/\s*(\\\\r|\\\\n)\s*/g, '');

console.log(`input : "${input}"` );
console.log(`output : "${output}"`);