当我使用此功能时,它会删除字符串中的最后一个字母。它应该只用
标签替换换行符。有什么问题?
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, breakTag);
答案 0 :(得分:1)
模式的第一部分匹配不 >
或回车符或换行符的任何单个字符,但它不会将其添加回结果字符串。因此它总是在换行前吃掉最后一个字符。
尝试:
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, "$1" + breakTag);
答案 1 :(得分:0)
试试这个
return str.replace(/(\r\n|\n|\r)*$/, breakTag)
(我使用$
来匹配字符串的结尾)