Регулярные выражения, удаляющие последнюю букву из строки - PullRequest
1 голос
/ 17 января 2012

Когда я использую эту функцию, она удаляет последнюю букву из строки.Следует заменить только переносы строк натеги.Что не так?

    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, breakTag);

Ответы [ 2 ]

1 голос
/ 17 января 2012

Первая часть вашего шаблона соответствует любому отдельному символу, который не > или возврат каретки или перевод строки, но он не добавляет это обратно в строку результата.Таким образом, он всегда ест последний символ перед переводом строки.

Попробуйте:

return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, "$1" + breakTag);
0 голосов
/ 17 января 2012

попробуйте вместо этого

 return str.replace(/(\r\n|\n|\r)*$/, breakTag)

(я использовал $, чтобы соответствовать концу строки)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...