gpt4 book ai didi

javascript - 删除所有空格,除非空格是确切字符串的一部分

转载 作者:行者123 更新时间:2023-11-29 10:08:03 25 4
gpt4 key购买 nike

我有这个字符串

<h1 class='' id='' title=''></h1>

我想删除除 h1 之后的空白之外的所有空白,以便输出看起来像那样

<h1 class=''id=''title=''></h1>

我试了两次

var string = "<h1 class='' id='' title=''></h1>";
var regexp = /\s/g;
var regexp2 = /(<h1)/g;
var string = string.replace(regexp, "").replace(regexp2, "$1 ");
console.log(string);

我想知道是否有办法将这两个正则表达式合二为一。我试着做

var string = "<h1 class='' id='' title=''></h1>";
var regexp = /(?!<h1)\s/g;
var string = string.replace(regexp, "");
console.log(string);

不幸的是,它并没有那样工作。我想要一个关于如何删除字符串中除 <h1 中的空格以外的所有空格的解释性答案知道这是众多h1中的一个行,我也想删除所有 \n\t ,因此我使用 \s 的原因在我的正则表达式中。

对于为什么问题,我只是想删除 <...> 中每个选择器之后的所有空格,而不是像 h1 这样的标签名称后面的空格。只是出于我自己的好奇心和练习正则表达式。还有所有返回和制表符。在 HTML5 文档中。

最佳答案

(\w+='')\ 替换为 $1,参见 a demo on regex101.com .
完整的 JS 代码:

var string = "<h1 class='' id='' title=''></h1>";
var regexp = /(\w+='')\ /g;
var string = string.replace(regexp, "$1");
alert(string);

参见 a demo on jsfiddle.net .
正如@Redu 所指出的,您可以将其更改为 (\w+='')\s+ 多个连续的空格。


问题仍然存在:为什么?

关于javascript - 删除所有空格,除非空格是确切字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39337540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com