2017-01-20 30 views
-1

Guys私はいくつかの区切り記号の前後の空白を削除し、区切り記号(、)の後ろに区切り記号を挿入します。セパレータは新しい行を挿入します。JavaScript文字列区切り文字

var newSeparators = /\s*([.!:?])\s*|\s*(,)\s*/g; 
    textToTransform = textToTransform.replace(newSeparators, function($0, $1, $2) { 
     return $2 ? $2 + " " : $1 ; 
    }); 
+0

それは動作しますか?テストするデータがありますか?そして望む結果は?何が問題なの? –

+1

はいそれは動作します。私は 'newSeparators'変数(\ n区切り文字)に新しい区切り文字を追加したいときに、区切り文字を見つけてtextの新しい行にしたいとしました。このコードは私の新しい行を削除します$ 2 –

+0

の後に 'textToTransform'の例を挙げることができますか? – Adam

答えて

0

\sパターンはすべての空白に一致するため、改行にも一致します。 \n\sから除外する必要があります。これを行う簡単な方法は、逆ネゲートされた文字クラス[^\S]を使用し、そこで例外を追加することです - [^\S\n]

使用

/[^\S\n]*([.!:?])[^\S\n]*|[^\S\n]*(,)[^\S\n]*/g 
関連する問題