【问题标题】:Replacing \n and empty spaces in reg ex替换正则表达式中的 \n 和空格
【发布时间】:2018-09-19 06:21:52
【问题描述】:

嗨,我有一个 JavaScript json 值

{ 's-env': \n   { 'b1:trackingip': \n.  { ........

我想替换所有\n 和空格 我正在使用

regex str.replace(/\\/g, "")

它工作正常,但它只替换了\ 部分。 n 还在里面。 请让我知道如何更正边缘替换以删除所有 \n 和空白空间。

【问题讨论】:

  • 尝试使用str.replace(/\\n/g, "")替换所有\\n。目前尚不清楚您要完成什么。另外,什么是空格
  • \n 和空格 除了\n,你在说什么空格?
  • 我正在尝试使用从 xml 响应创建的 json 字符串删除所有额外的字符以获取某些值。它有很多垃圾字符,并且 json 解析不断给出未定义的错误
  • 需要一个样本输入和预期输出来决定。
  • 如果您有“从 xml 响应创建的 json 字符串”但“json 解析不断给出未定义的错误”(并且“未定义的错误”实际上是解析错误而不是其他错误),那么您需要做的是修复创建 JSON 字符串的代码,而不是在事后尝试修复 JSON。我怀疑您的实际问题实际上在其他地方,但是您没有向我们提供足够的信息(例如,您实际收到的错误消息)来帮助解决。

标签: javascript json node.js regex


【解决方案1】:

尝试匹配整个短语 '\n' 和任何空格,如下所示:

str.replace(/(\\n| |\t|\r|\n)/g, '');

请注意,除了字符串 '\n' 之外,它还抓取空格、制表符、回车和换行符

关键是使用匹配表达式“()”并提供由“|”分隔的替代项。

【讨论】:

  • 为什么不只是\\n|\s+?您的替换可能会无意中替换值内的空格。
  • \s+ 仍然会替换内部值...老实说,我只是没有使用它,因为我不记得 js 正则表达式是否支持它。
猜你喜欢
  • 1970-01-01
  • 2017-11-17
  • 2015-01-19
  • 2022-11-11
  • 2020-09-12
  • 2021-12-18
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
相关资源
最近更新 更多