RegExp, чтобы развернуть многострочный текст XML CDATA, содержащий <br>? - PullRequest
0 голосов
/ 19 сентября 2009

Кто-нибудь знает хороший reg exp, который может сделать это оптимально за один раз? Необходимо удалить пробелы в начале / конце каждой строки, удалить LF и CR и заменить их на один пробел, но если в конце строки есть <br> (или <br/>), пробел не должен добавляться. Мне нужно это в регулярном выражении соответствия JavaScript.

1 Ответ

1 голос
/ 19 сентября 2009

Я бы использовал что-то вроде этого:

var str = '  foo<br>\nbar\nbaz \n quox\nquox';
// split into lines
var lines = str.split('\n');
// iterate over each line
for (var i = lines.length; i--; ) {
  // trim whitespace
  lines[i] = lines[i].replace(/^\s+|\s+$/g, '');
  // add whitespace at the end if string doesn't end with "<br>"
  if (!/<br>$/.test(lines[i])) lines[i] += ' ';
}
// concatenate into a string again
lines.join('');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...