You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript正则替换JSON中\n与空格的问题求助

解决JSON字符串中移除\n和空格的正则问题

嘿,我明白你的问题了——之前的正则只干掉了反斜杠,把n留了下来,确实挺闹心的。咱们来修正一下:

正确的正则表达式

你需要同时匹配转义的换行符(\\n)和所有空白字符,用这个正则就能一次性搞定:

str = str.replace(/\\n|\s/g, "");

为什么这个能行?

  • \\n:在正则里,反斜杠需要转义,所以\\代表实际的\,加上n就匹配字符串里显式的\n组合;
  • \s:这个元字符能匹配所有空白类字符,包括普通空格、制表符、还有实际的换行符(如果你的字符串里有真正的换行,而不是转义的\n);
  • g:全局标志,确保替换掉所有匹配的内容,而不是只替换第一个。

举个实际例子

假设你的原始字符串是:

let str = '{ \'s-env\': \n { \'b1:trackingip\': \n { "ip": "192.168.1.1" } } }';

替换后会得到干净的结果:

'{\'s-env\':{\'b1:trackingip\':{"ip":"192.168.1.1"}}}'

为什么之前的正则不行?

你之前用的/\\/g只匹配单个的反斜杠,所以它会把\n里的\去掉,剩下孤零零的n,这就是为什么那些n还留在字符串里啦。

内容的提问来源于stack exchange,提问作者J. Davidson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:25:35