[英]How to remove spaces from a string using JavaScript?
如何去除字符串中的空格? 例如:
輸入:
'/var/www/site/Brand new document.docx'
Output:
'/var/www/site/Brandnewdocument.docx'
這個?
str = str.replace(/\s/g, '');
例子
var str = '/var/www/site/Brand new document.docx'; document.write( str.replace(/\s/g, '') );
更新:基於這個問題,這個:
str = str.replace(/\s+/g, '');
是一個更好的解決方案。 它產生相同的結果,但速度更快。
正則表達式
\s
是“空白”的正則表達式, g
是“全局”標志,表示匹配所有\s
(空白)。
+
的一個很好的解釋可以在這里找到。
作為旁注,您可以將單引號之間的內容替換為您想要的任何內容,因此您可以將空格替換為任何其他字符串。
var a = b = " /var/www/site/Brand new document.docx "; console.log( a.split(' ').join('') ); console.log( b.replace( /\s/g, '') );
有兩種方法可以做到這一點!
最短和最快:str.replace str.replace(/ /g, '');
基准:
這是我的結果 - (2018.07.13) MacOs High Sierra 10.13.3 on Chrome 67.0.3396 (64-bit), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64-bit) ):
類似於 OP 問題示例的短字符串
所有瀏覽器上最快的解決方案是/ /g
(regexp1a) - Chrome 17.7M (operation/sec), Safari 10.1M, Firefox 8.8M。 所有瀏覽器中最慢的是split-join
案。 改變
到\s
或將+
或i
添加到正則表達式會減慢處理速度。
對於大約 300 萬個字符的字符串,結果是:
你可以在你的機器上運行它: https ://jsperf.com/remove-string-spaces/1
簡單的方法
someString.replace(/ /g, '');
// or
someString.replace(/\s/gm, '');
var input = '/var/www/site/Brand new document.docx';
//remove space
input = input.replace(/\s/g, '');
//make string lower
input = input.toLowerCase();
alert(input);
您還可以使用 JS 的最新字符串方法之一: replaceAll
'/var/www/site/Brand new document.docx'.replaceAll(' ', '');
沒有 regexp ,它工作正常。
input = input.replace(' ', '');
為什么不簡單地使用這個!? 這更快更簡單!
var output = '/var/www/site/Brand new document.docx'.replace(/ /g, "");
or
var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,"");
注意:盡管您使用“g”或“gi”來刪除空格,但兩者的行為相同。
如果我們在替換函數中使用“g”,它將檢查是否完全匹配。 但是如果我們使用'gi',它會忽略大小寫敏感。
參考點擊這里。
正則表達式 + 替換()
盡管正則表達式可能會更慢,但在許多用例中,開發人員一次只操作幾個字符串,因此考慮速度是無關緊要的。 盡管 / / 比 /\s/ 快,但使用 '\s' 可能更清楚地解釋了另一個開發人員正在發生的事情。
let string = '/var/www/site/Brand new document.docx';
let path = string.replace(/\s/g, '');
// path => '/var/www/site/Brandnewdocument.docx'
拆分()+加入()
使用 Split + Join 允許對字符串進行進一步的鏈式操作。
let string = '/var/www/site/Brand new document.docx';
let path => string.split('').map(char => /(\s|\.)/.test(char) ? '/' : char).join('');
// "/var/www/site/Brand/new/document/docx";
使用replaceAll
似乎是最簡單最干凈的方法。 (我不能保證最快)
'/var/www/site/Brand new document.docx'.replaceAll(' ', '')
請參閱文檔。
replaceAll() 方法返回一個新字符串,其中模式的所有匹配項都被替換。 模式可以是字符串或正則表達式,替換可以是字符串或每次匹配調用的函數。
從字符串中刪除空格的最簡單方法是以這種方式使用替換
let str = '/var/www/site/Brand new document.docx';
let result = str.replace(/\s/g, '');
var str = '/var/www/site/Brand new document.docx'; document.write( str.replace(/\s\/g, '') ); ----------
您可以使用正則表達式從字符串中刪除空格`
let str = '/var/www/site/Brand new document.docx';
let result = str.replace(/\s/g, '');
雖然有辦法使用正則表達式來刪除空格,但是有一個簡單的函數可以刪除所有名為.trim();
空格.trim();
:
var str = "abr a cadab ra";
str = str.trim();
//str = "abracadabra"
your_string = 'Hello world';
words_array = your_tring.split(' ');
string_without_space = '';
for(i=0; i<words_array.length; i++){
new_text += words_array[i];
}
console.log("The new word:" new_text);
輸出:
你好世界
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.