2012-01-17 13 views

答えて

0

+1

正規表現リテラルを使用して「\」文字をエスケープする必要はありません。実際には、一致するパターンがキャリッジリターンラインフィードのペアである場合は、明らかに間違っています。また、2番目のパラメータを '.replace()'に残しました。 – Pointy

+0

それはエスケープの私の盲目の恐怖のためです...私は編集しました、ありがとう – fcalderan

1

あなたのパターンの最初の部分がないだ任意の1文字に一致し(私は、文字列の末尾にマッチする$を使用しました)代わりに

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

これを試してみてください>またはキャリッジリターンまたはラインフィードが返されますが、結果文字列には追加されません。したがって、改行の前に常に最後の文字を取ります。

試してみてください。

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

これは最高の解決策のようです+1 – Christopher

+0

ありがとう! :-) – ebsp

関連する問題