如何从给定的html字符串中删除前导空格和尾随空格

How to remove leading and trailing white spaces from a given html string?

本文关键字:空格 删除 字符串 html      更新时间:2023-09-26

我有以下HTML字符串。在JavaScript中,从这个字符串中删除前导空格和尾随空格的示例代码是什么?

<p>&nbsp;&nbsp;</p>
<div>&nbsp;</div>
Trimming using JavaScript<br />
<br />
<br />
<br />
all leading and trailing white spaces
<p>&nbsp;&nbsp;</p>
<div>&nbsp;</div>

请参阅String方法trim()-https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim

var myString = '  bunch    of <br> string data with<p>trailing</p> and leading space   ';
myString = myString.trim();
// or myString = String.trim(myString);

编辑

正如其他评论中所指出的,可以使用regex方法。trim方法实际上只是正则表达式的别名:

if(!String.prototype.trim) {  
  String.prototype.trim = function () {  
    return this.replace(/^'s+|'s+$/g,'');  
  };  
} 

这将把该方法注入到那些仍在池的浅端游泳的浏览器的本地原型中。

var str = "  my awesome string   "
str.trim();    

对于旧浏览器,请使用regex

str = str.replace(/^[ ]+|[ ]+$/g,'')
//str = "my awesome string" 
string.replace(/^'s+|'s+$/g, "");

如果您使用的是多行字符串,如代码文件:

<html>
    <title>test</title>
    <body>
        <h1>test</h1>
    </body>
</html>

并且想要替换所有的引线,以得到这样的结果:

<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>

必须将multiline标志添加到正则表达式中,^$逐行匹配:

string.replace(/^'s+|'s+$/gm, '');

相关文件报价:

"m"标志表示多行输入字符串应被视为多行。例如,如果使用"m","^"answers"$"将从仅在整个字符串的开头或结尾匹配更改为字符串中任何一行的开头或末尾。

我知道这是一个非常古老的问题,但它仍然没有一个公认的答案。我看到您希望删除以下内容:html标记为"空",空白基于html字符串。

我已经根据你对你正在寻找的输出的评论提出了一个解决方案:

Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces 

var str = "<p>&nbsp;&nbsp;</p><div>&nbsp;</div>Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces<p>&nbsp;&nbsp;</p><div>&nbsp;</div>";
console.log(str.trim().replace(/&nbsp;/g, '').replace(/<[^'/>][^>]*><'/[^>]+>/g, ""));

.trim()删除前导和尾随空白

.replace(/&nbsp;/g, '')删除&nbsp;

.replace(/<[^'/>][^>]*><'/[^>]+>/g, ""));删除空标签

01)。如果您只需要删除前导和尾部空白,请使用以下选项:

var address = "  No.255 Colombo  "
address.replace(/^[ ]+|[ ]+$/g,'');

这将返回字符串"255科伦坡"

02)。如果你需要删除所有空白使用这个:

var address = "  No.255 Colombo  "
address.replace(/'s/g,"");

这将返回字符串"255Colombo"

var trim = your_string.replace(/^'s+|'s+$/g, '');