2015-06-14 2 views
-3

Как я могу удалить пространство в строке, не удаляя перерывы внутри?Javascript - Удалите пробел - не перерывы

$new=$new.replace(/\s+/g,' '); //not working correct 


this  is a test. 
please remove only the 
Space not 
the  breaks inside 


this is a test. 
please remove only the 
Space not 
the breaks 
+1

Почему вы используете '\ s +'? Знаете ли вы, что это значит? – Bergi

ответ

2

Просто используйте / +/g:

$new = document.getElementById('content').innerHTML; 
 

 
$new = $new.replace(/ +/g,' '); 
 
// or $new = $new.replace(/(\s(?=\s))+/g,''); 
 
    
 
document.getElementById('result').innerHTML = $new;
<pre id="content"> 
 
this  is a test. 
 
please remove only the 
 
Space not 
 
the  breaks inside 
 
</pre> 
 

 
<pre id="result"> 
 
</pre>

+1

Лучшая демонстрация будет использовать тег 'pre'; http://jsbin.com/doheqi/2/edit?html,js,output –

+0

Работает, но использование пространства в обычном Express не соответствует ISO – dazzafact

+0

@dazzafact Я пробовал по-другому, это [это] (http://jsfiddle.net/m58fgvyo/) ISO соответствует? – blex

1
$new = $new.split(/ +/).join(' '); 
+0

Вздох. Почему при голосовании? –

+0

Это делает противоположное тому, что было задано. – JJJ

+0

Причина, по которой вы потеряете 'новые строки' (с' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ') –

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