[英]How to Convert text with \n and add real new line without character in node js?
我有這樣的文本響應,我想刪除特殊字符 \n 並使其成為真正的新行。
具有特殊字符的第一個響應
-----BEGIN MESSAGE-----\n v1.60\n\nhQEMAwPgeMJUXSL5Bps+U3lC8tnc\nD8s2Aeb7UtryIRABy/U2PCENdNKH5Jm+CI1CO\n/BBlzx77Z4YGNVfh2G+d62\nln0OjxCcTHbbTM/1XjNYqRTzWZInIVAvGzKgw/V+8f2b0NM4M9kPJRy65uov42Iv\n125RWFv/uaCtgY2XHzk=\n=Xyt6\n-----END MESSAGE-----\n
其實我想做出這樣的回應,
-----BEGIN MESSAGE-----
By+ZEGhZCB8kWnIxOlgFrvABtc3n5AzHteDk9WJ4vIrr52T5tTlQntAFpm6P
8Ars0HETgvE7klIxFSrSXy4D350gn3TwJywhR3Go0WxujNRhi8MhXMRYmg/o
8Ars0HETgvE7klIxFSrSXy4D350gn3TwJywhR3Go0WxujNRhi8MhXMRYmg/o
8Ars0HETgvE7klIxFSrSXy4D350gn3TwJywhR3Go0WxujNRhi8MhXMRYmg/o
8Ars0HETgvE7klIxFSrSXy4D350gn3TwJywhR3Go0WxujNRhi8MhXMRYmg/o
8Ars0HETgvE7klIxFSrSXy4D350gn3TwJywhR3Go0WxujNRhi8MhXMRYmg/o
=SEl/
-----END PGP MESSAGE-----
這是兩個不同的字符串,但我以此為例。
沒有特殊字符,如何實現將響應轉換為類似於 node.js 中的第二個響應。
像這樣? 無需任何處理
在節點中
const str = `-----BEGIN MESSAGE-----\n v1.60\n\nhQEMAwPgeMJUXSL5Bps+U3lC8tnc\nD8s2Aeb7UtryIRABy/U2PCENdNKH5Jm+CI1CO\n/BBlzx77Z4YGNVfh2G+d62\nln0OjxCcTHbbTM/1XjNYqRTzWZInIVAvGzKgw/V+8f2b0NM4M9kPJRy65uov42Iv\n125RWFv/uaCtgY2XHzk=\n=Xyt6\n-----END MESSAGE-----\n` console.log(str)
如果逃脫
const str = `-----BEGIN MESSAGE-----\\n v1.60\\n\\nhQEMAwPgeMJUXSL5Bps+U3lC8tnc\\nD8s2Aeb7UtryIRABy/U2PCENdNKH5Jm+CI1CO\\n/BBlzx77Z4YGNVfh2G+d62\\nln0OjxCcTHbbTM/1XjNYqRTzWZInIVAvGzKgw/V+8f2b0NM4M9kPJRy65uov42Iv\\n125RWFv/uaCtgY2XHzk=\\n=Xyt6\n-----END MESSAGE-----\\n` console.log(str.replace(/\\n/g,"\n"))
假設您的字符串包含轉義序列\n
並且您不只是在談論 JavaScript源代碼:
// I've escaped the \ so that the string contains \n instead of an actual new line
const myString = "This is a string\\nwith a slash n in it";
然后你可以做一個簡單的替換:
const unEscaped = myString.replace(/\\n/g, "\n");
process.stdout.write(unEscaped);
不過,如果數據中有其他 JS 序列,那么最好將其視為 JSON:
const parsed = JSON.parse(myString);
process.stdout.write(parsed);
如果您在談論源代碼,那么問題將出在您如何檢查字符串而不是字符串本身。 你沒有說你在做什么,但如果我猜測我會說“使用process.stdout.write()
而不是console.log()
。
我想你的操作系統是 Windows。
在 windows 中換行你必須使用 \r\n 而不僅僅是 \n。
但我認為 \n 很好,您必須嘗試在支持非 Windows 換行符(例如寫字板)的編輯器中打開您的文件。
如果你想更換它試試:
str.replace(/\\n/g, \r\n);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.