2016-07-27 67 views
0

var str = 'abc 123 hello xyz';CONCAT字符串使用JavaScript

如何Concat的上述字符串abc123helloxyz?我試圖修剪,但它留下字符之間的空間。我不能使用split(''),因爲空間不是一次。

+2

'str.replace(/ \ S + /克, 「」);' – Downgoat

+0

順便說一下,'concat'是不正確的術語。 concat是串聯的簡稱 - 連接在一起,串聯或連鎖,在編程中,通常指向現有材料的「末端」添加材料 –

回答

2

您可能會成功使用正則表達式。 \s檢查任何白色間隔字符的出現。 +佔空間的不止一次。和'/ g'來檢查是否繼續搜索,即使在找到第一個事件後也是如此。

var str = 'abc 123 hello  xyz'; 
 
str = str.replace(/\s+/g, ""); 
 
console.log(str);

+0

\ s爲空格? –

+0

是,\ s匹配任何空白字符[\ r \ n \ t \ f]。現在它只意味着一個字符。所以我們添加\ s +來表示可以有很多相鄰的空格,找到它們。 – Ayan

+0

試試這個正則表達式工具。 https://regex101.com/在那裏粘貼正則表達式,並與它一起玩,看看它是如何隨着解釋而變化的。 – Ayan

1

使用正則表達式。

var newstr = str.replace(/ +/g, '') 

這將用空字符串替換任意數量的空格。 您也可以擴大到包括像這樣

var newstr = str.replace(/[ \n\t\r]+/g, '') 
1

其他空白字符的字符串替換空間:

str = str.replace(" ", ""); 

編輯:作爲已經引起了我的注意,這隻會取代首次出現的空格字符。根據其他答案使用正則表達式的確是正確的方法。

+1

這僅替換第一個空格。 – nnnnnn

+0

你其實是對的。我會編輯這個答案。 – which1ispink

0

最乾淨的方法是使用以下正則表達式:

\s指 「一個空間」,和\s+是指 「一個或多個空格」。

/g標誌表示(替換所有出現的)並替換爲空字符串。

var str = 'abc 123 hello  xyz'; 
 
console.log("Before: " + str); 
 
str = str.replace(/\s+/g, ""); 
 
console.log("After: " + str);