2016-07-27 4 views
0

var str = 'abc 123 hello xyz';CONCAT строка Использование JavaScript

Как Concat выше строки в abc123helloxyz? Я попытался обрезать, но он оставил пробелы между символами. Я не могу использовать split (''), так как пространство не одно время.

+2

'str.replace (/ \ S +/г "");' – Downgoat

+0

, кстати, 'concat' не является правильным термином. concat - сокращение для concatenate - для объединения, объединения в цепочку или в цепочке, а в программировании обычно относится к добавлению материала к «концу» существующего материала. –

ответ

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(" ", ""); 

Edit: как было доведено до моего сведения, это только заменяет первое вхождение символа пробела. Использование регулярных выражений в соответствии с другими ответами - действительно правильный способ сделать это.

+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);

Смежные вопросы