查找正则表达式模式以删除JSON字符串中的内容



我有一个类似于的JSON字符串

string str=[
{"name": "Dukes",
"lastname":"Chavez",
"salary":"10000",
"clearingbankAccinfo":"Westpac"}]

问题是我们必须清除银行信息,这可以是任何价值
我们可以肯定的是,它会出现在字符串的末尾。

我需要一个正则表达式模式来删除这个clearingbankAccInfo,这样它看起来类似于:

string str=[
{"name": "Dukes",
"lastname":"Chavez",
"salary":"10000"}]

不幸的是,我不会接受这作为输入本身,但这些信息来自不同的过程,我无法控制它们传递的内容

我试过:

String str=str.replace(',"clearingbankAccInfo":g[a-zA-Z0-9_:]g+', '' )

但它不能正常工作

如果您使用的是JSON之类的东西,regex是错误的解决方案。只需解析字符串化的数据,并使用类似map的东西对其进行循环,即可提取并返回正确的数据。然后你就可以用这些数据再次生成一个字符串。

const str = '[{"name": "Dukes","lastname": "Chavez","salary": "10000","clearingbankAccinfo": "Westpac"},{"name": "Bob","lastname": "Smith","salary": "20000","clearingbankAccinfo":"Lloyds"}]';
// Here we're creating a new variable called `newData` to hold
// the transformed data. We parse the data string and iterate over it
// (because it's now an array) with `map` which is an array method.
// With each iteration we take the object, grab the clearingBankAccinfo
// and just return everything else.
const newData = JSON.parse(str).map(obj => {
const { clearingbankAccinfo, ...rest } = obj;
return rest;
});
console.log(newData);
console.log(JSON.stringify(newData));

附加文件

  • 休息参数

  • 使用JSON

  • 破坏分配

str=str.replace(/,?"clearingbankAccinfo";:"\w+&"/g,''(;

最新更新