簡體   English   中英

如何從給定的 html 字符串中刪除前導和尾隨空格?

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

我有以下 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);

編輯

如其他評論所述,可以使用正則表達式方法。 trim方法實際上只是正則表達式的別名:

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

...這會將方法注入到那些仍在池淺端游泳的瀏覽器的本機原型中。

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

對於舊瀏覽器,使用正則表達式

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”,則“^”和“$”將從僅匹配整個字符串的開頭或結尾變為匹配字符串中任意行的開頭或結尾。

我知道這是一個非常古老的問題,但仍然沒有公認的答案。 我看到您想要刪除以下內容:html 標簽為“空”和基於 html 字符串的空格。

根據您對您正在尋找的 output 的評論,我想出了一個解決方案:

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,'');

這將返回字符串“No.255 Colombo”

02). 如果您需要刪除所有的空白使用這個:

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

這將返回字符串“No.255Colombo”

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM