1

jQuery テキスト関数を使用して、多数のキャリッジ リターン/改行が連続して含まれる文字列を受け取りました。

たとえば、「\r\n \r\n \r\n ウェルカム ボブ\r\n\t \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 \r\n\r\n \r\n \r\n \ r\n\r\n\r\n\r\n\r\n」.

JavaScriptを使用してシーケンスの代わりに改行を1つだけ持つことは可能ですか?おそらく関数を置き換えますか?

4

2 に答える 2

2

使用する

str.replace(/\s*?[\r\n]\s*/g, "\n");

キャリッジリターン/改行の周りの空白を一致させ、それらを\n完全に置き換えます。

于 2012-10-15T15:13:04.793 に答える
1

JavaScript の置換機能は、最初に一致したもののみを置換します。目的を達成するには、正規表現を使用する必要があります。

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

より広範な SO answer here

正規表現の場合: (\r\n[ \t]*)+:

(         # 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
于 2012-10-15T14:52:20.390 に答える