我有一个类似于的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,''(;