如何解决JSON.parsereplace提供的结果与str.replace不同
以下代码片段让我有些困惑。我希望结果是一样的:
// # Base for all,used in method 1 directly
const content = `Amazon,? bezahlte EUR 75.60 am Amazon
? Heute ausgegeben: EUR 75.60`
// # Base for method 2
const newString = JSON.stringify(content)
const replaceString = newString.replace('\n',',')
// # Base for method 3
const newReplaceString = content.replace('\n',')
// # Output from method 1
console.log(JSON.parse(JSON.stringify(content).replace('\n',')));
> "Amazon,? bezahlte EUR 75.60 am Amazon
? Heute ausgegeben: EUR 75.60"
// # Output from method 2
console.log(replaceString)
> ""Amazon,? bezahlte EUR 75.60 am Amazon\n? Heute ausgegeben: EUR 75.60""
// # Output from method 3
console.log(newReplaceString)
> "Amazon,? bezahlte EUR 75.60 am Amazon,? Heute ausgegeben: EUR 75.60"
为什么字符串化对象上的replace函数不相同?我需要做些什么?
解决方法
换行符\n
(一个字符)变成两个字符\
和n
,您应该这样替换它:
const replaceString = newString.replace('\\n',',');
如果您可以在控制台的字符串中看到实际的字符源(即反斜杠\
本身,其后是任何字符),则意味着该字符实际上分为两个字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。