我正在尝试从字符串中修剪前导和尾随空格和换行符。换行符写为\n
(两个单独的字符,斜线和n
)。换句话说,它是字符串文字,而不是 CR LF 特殊字符。
例如,这个:
\n \nRight after this is a perfectly valid newline:\nAnd here is the second line. \n
应该变成这样:
Right after this is a perfectly valid newline:\nAnd here is the second line.
我想出了这个解决方案:
text = text
.replace(/^(\s*(\\n)*)*/, '') // Beginning
.replace(/(\s*(\\n)*)*$/, '') // End
根据RegexPal ,这些模式匹配得很好。
然而,第二个模式(匹配字符串的结尾)需要很长时间——在 Chrome 中,只有几个段落和几个尾随空格的字符串大约需要 32 秒。第一个模式在同一个字符串上非常快(毫秒)。
为什么这么慢?有没有更好的方法来解决这个问题?