如何删除 Javascript 中所有出现的字符串
How to remove all occurrences of string in Javascript
我正在使用 JSON.stringify
将对象转换为字符串,如下所示:
JSON.stringify(obj).replace(/[{}]/g, '').slice(1, -1)
我的输出低于:
"null,null,"Heading":"Heading1""
我想从上面的字符串中删除所有出现的 null,为此我使用 replace
JSON.stringify(obj).replace(/[{}]/g, '').slice(1, -1).replace('null,', '')
但它只删除第一次出现的 null
字符串
"null,"Heading":"Heading1""
期望的输出:
"Heading":"Heading1""
正如 peeps 在评论中所说 最好的方法可能是首先摆脱 null
元素 ,所以如果你想这样做您应该遍历您的对象,然后检查 null
项。
为此,这可能会派上用场:
Object.keys(obj).forEach((key) => (obj[key] == null) && delete obj[key]);
否则,您应该考虑在正则表达式中使用全局标志 (/g
),以删除所有 null
的出现。
您可以通过以下方式实现此目的:
.replace(/null,/g, '')
.replace() 方法仅替换第一次出现的位置。执行全局替换为
.replace(/null,/g, '')
希望对您有所帮助!
我正在使用 JSON.stringify
将对象转换为字符串,如下所示:
JSON.stringify(obj).replace(/[{}]/g, '').slice(1, -1)
我的输出低于:
"null,null,"Heading":"Heading1""
我想从上面的字符串中删除所有出现的 null,为此我使用 replace
JSON.stringify(obj).replace(/[{}]/g, '').slice(1, -1).replace('null,', '')
但它只删除第一次出现的 null
字符串
"null,"Heading":"Heading1""
期望的输出:
"Heading":"Heading1""
正如 peeps 在评论中所说 最好的方法可能是首先摆脱 null
元素 ,所以如果你想这样做您应该遍历您的对象,然后检查 null
项。
为此,这可能会派上用场:
Object.keys(obj).forEach((key) => (obj[key] == null) && delete obj[key]);
否则,您应该考虑在正则表达式中使用全局标志 (/g
),以删除所有 null
的出现。
您可以通过以下方式实现此目的:
.replace(/null,/g, '')
.replace() 方法仅替换第一次出现的位置。执行全局替换为
.replace(/null,/g, '')
希望对您有所帮助!