如何使用JavaScript replace将回车/换行符序列替换为换行符序列?

如何使用JavaScript replace将回车/换行符序列替换为换行符序列?,javascript,replace,special-characters,Javascript,Replace,Special Characters,使用jQuery文本函数,我收到了一个字符串,该字符串按顺序包含许多回车符/换行符 例如,“\r\n\r\n\r\n欢迎Bob\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n建议:Hellot\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n” 是否可以只使用一个换行符而不是使用JavaScript替换函数的序列?JavaScript替换函数只替换第一个匹配项。你必须使用正则表达式来实现你想要的 str.r

使用jQuery文本函数,我收到了一个字符串,该字符串按顺序包含许多回车符/换行符

例如,“\r\n\r\n\r\n欢迎Bob\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n建议:Hellot\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n”


是否可以只使用一个换行符而不是使用JavaScript替换函数的序列?

JavaScript替换函数只替换第一个匹配项。你必须使用正则表达式来实现你想要的

str.replace(/(\r\n[\t]*)+/g,“\r\n”)

一个更广泛的答案

对于正则表达式:
(\r\n[\t]*)+

使用

匹配回车符/换行符周围的任何空格,并将其全部替换为
\n

(         # start group
\r\n      # match your newlines
[ \t]*    # match zero or more spaces and tabs
)         # end group
+         # match all the above once or more times
str.replace(/\s*?[\r\n]\s*/g, "\n");