从string中删除最后一个字母的正则表达

时间:2012-01-17 17:33:09

标签: javascript replace

当我使用此功能时,它会删除字符串中的最后一个字母。它应该只用
标签替换换行符。有什么问题?

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

2 个答案:

答案 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)

(我使用$来匹配字符串的结尾)