2012-01-19 2 views
4

Мне нужно обрезать ведущее и конечное пространства из многострочной строки. Я попытался это регулярное выражение со строкой заменить метод:Обрезка пробелов при сохранении разрывов строк

String.replace(/^\s+|\s+$/gm, ""); 

Однако, на линиях с пробелами только, разрыв линии теряется в процессе. Например (^ обозначает пространство):

^^^^1234^^^^ 
^^^^5678^^^^ 
^^^^^^^ 
^^90^^ 

выходы это:

1234 
5678 
90 

Что регулярное выражение я должен использовать, чтобы сохранить третьи (пустые) строки:

1234 
5678 

90 
+0

Почему вы не можете использовать 'String.trim()'? –

+1

Существует ли многострочный режим для этого метода? –

ответ

5

«\ s "соответствует любому символу пробела, новым строкам. Итак, чтобы реализовать обрезку, которая работает так, как вы хотите, вы должны заменить «\ s» на обычный символ пробела (или группу символов, которые будут обрабатываться как пробел).

string.replace(/^ +| +$/gm, ""); 
+0

Я обновил до 'String.replace (/^\ x20 + | \ x20 + $/gm," ")'. Кажется, работает нормально. –

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