如何使用javascript删除[]内的文本

时间:2018-02-21 09:49:45

标签: javascript

我想删除任何[]内的所有文字,包括[] 例如,我有捕获的标题

Accept: [*/*] Accept-Language: [en-US,en;q=0.9] Cache-Control: [no-cache] Host: [localhost:8080] User-Agent: [Mozilla/5.0 (Windows NT
6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36] xyz: [xydd]

content.replaceAll(/ *\:.*\] */g, "");

但它不能以某种方式工作

我希望在以下之后删除所有内容:和]

所以结果就像

Accept
Accept-Language
Cache-Control
Host
User-Agent
xyz

先谢谢!!

1 个答案:

答案 0 :(得分:0)

您可以使用与]之外的所有内容匹配的正则表达式,而不是任何字符。然后,将其替换为,(或空格)等字符,并使用String.split()。在下面的示例中,我还使用Array.slice(0,-1)删除最后一个空字符串:

var content = `Accept: [*/*] Accept-Language: [en-US,en;q=0.9] Cache-Control: [no-cache] Host: [localhost:8080] User-Agent: [Mozilla/5.0 (Windows NT
6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36] xyz: [xydd]`;

console.log(content.replace(/ *\:[^\]]*\] */g, ",").split(',').slice(0, -1));