首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式删除JSON字符串中的空格

正则表达式删除JSON字符串中的空格
EN

Stack Overflow用户
提问于 2020-03-05 18:18:23
回答 2查看 946关注 0票数 2

我有一个更广泛的自动化,它填充一个查找表,然后将数据序列化为JSON文件,因为这是我想要的输出。

我需要在查找列标题的JSON格式中删除一次空格。

我想看看是否有可能有一个正则表达式,它将识别标题,并能够删除空格。

JSON字符串如下:

代码语言:javascript
复制
     [
  {
"INVOLVED PARTY ID":" 9445999606",
"CUSTOMER NUMBER":" 9445999606",
"PRODUCT":"Current Account",
"LAST UPDATED":"20/02/2020 10:33:00",
"APPLICATION STATUS":"Clearing Handbrake",
"PROGRESS":"Progress",
"APPLICANT":" ACCEPT FLEX INDICATOR Y",
"QUESTION 3 - HEART/CANCER CONDITIONS":null,
  }
    ]

正则表达式操作后所需的输出

代码语言:javascript
复制
     [
  {
"INVOLVEDPARTYID":" 9445999606",
"CUSTOMERNUMBER":" 9445999606",
"PRODUCT":"Current Account",
"LASTUPDATED":"20/02/2020 10:33:00",
"APPLICATIONSTATUS":"Clearing Handbrake",
"PROGRESS":"Progress",
"APPLICANT":" ACCEPT FLEX INDICATOR Y",
"QUESTION3-HEART/CANCERCONDITIONS":null,
 }
   ]

请注意,只有标题中的空格已被删除。

任何有关正则表达式字符串的帮助都将非常感谢,或者为我指明正确的方向。

EN

回答 2

Stack Overflow用户

发布于 2020-03-05 19:37:47

这里的逻辑是首先创建一个新的空结果对象,迭代前一个对象键,删除其中的空格,然后将它作为键分配给结果对象,并将前一个值(完好无损)作为this(已过滤的键)的值;

代码语言:javascript
复制
const yourData =[
  {
"INVOLVED PARTY ID":" 9445999606",
"CUSTOMER NUMBER":" 9445999606",
"PRODUCT":"Current Account",
"LAST UPDATED":"20/02/2020 10:33:00",
"APPLICATION STATUS":"Clearing Handbrake",
"PROGRESS":"Progress",
"APPLICANT":" ACCEPT FLEX INDICATOR Y",
"QUESTION 3 - HEART/CANCER CONDITIONS":null,
  }
];

let newData = yourData.map(obj=>{
  let regexedObj = {};
  Object.keys(obj).forEach( prevKey => {
    //pattern can be /\s/ too, depends on use-case
    const regexedKey = prevKey.replace(/ /g,'')
    regexedObj[regexedKey] = obj[prevKey]
  })
  return regexedObj
})

console.log(newData)

票数 1
EN

Stack Overflow用户

发布于 2020-03-05 19:43:35

好吧,这个运行得很好:

代码语言:javascript
复制
(?<=\"[A-Z0-9 /-]*) (?=[A-Z0-9 /-]*\":)

它有两个非捕获组:

  1. 捕获字母(大写)、数字、空格、连字符和斜杠,后跟双引号。
  2. 捕获双引号和冒号之前的所有相同字符集。

在这两者之间有一个被捕捉到的空间。

请查看此https://regexr.com/4vogd

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60543015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档