2012-10-03 2 views

ответ

4

Это должно работать:

г => глобальная
т => многострочный
я => случай-insesitive

[^ AZ] => символы, от a до z, но благодаря нечувствительности к регистру AZ также не заменяются.

Если число может произойти в строке, вы можете предотвратить их заменить довольно легко:

"\r\n Departing2\r\n ".replace(/[^a-z0-9]/gmi,''); 

Если все, что вам нужно сделать, это удалить строки-каналы и обрезать остальные строки:

"\r\n Departing2\r\n ".replace(/[\r\n]/gm,'').replace(/^\s+|\s+$/g,''); 
"\r\n We're Departing, too\r\n!".replace(/[\r\n]/gm,'').replace(/^\s+|\s+$/g,''); 

должен заботиться о вещах для вас, а приятно

1

Это должно работать:

"\r\n Departing\r\n ".trim() 
+3

Слово предупреждения: IE <9 не имеет метода обрезки, вам придется увеличить прототип: 'if (! String.prototype.trim) {String.prototype.trim = function() {return this.replace (/ [\ г \ п]/г, '') (') заменить (/ \ s \ s * $ /, '') заменить/^ \ s \ s * /,).';.} ;} ' –

+0

В вопросе не указано, нужно ли удалять все пробелы, но если это будет так, то .trim() будет удаляться только в начале и в конце. –

+0

@Mario: есть пробел после строки, непосредственно перед «Отступлением», и поскольку желаемым результатом является «Отпуск», это справедливое предположение, IMHO –

0

Использование регулярных выражений.

str.replace(/\s/g,""); /* "\r\n Departing\r\n "(/\s/g,"") = "Departing" */ 
+0

Shusi, он также удаляет пробелы между словами, которые я не хочу. например, 'first name' заменяется на' firstname'. –

+0

@ Рамиз-Раджа, в этом случае мое предложение - это то, что вам нужно: '' \ r \ n Мы тоже уезжаем! \ R \ n ".replace (/ [\ r \ n]/gm, '') .replace (/^\ s + | \ s + $/g, ''); 'возвращает: _« Мы тоже уезжаем! »_ –

0
var mystring = "\r\n Departing\r\n "; 
mystring = mystring.replace(/\r\n/g, ""); 

Demo: JSFiddle

+0

Предлагаемый метод обрезки не рекомендуется, он не будет отфильтровываться unix-style line-feeds ('\ n') и нарушает ожидаемое поведение удаления конечных пробелов. –

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