2012-01-19 15 views
4

複数行の文字列の先頭と末尾のスペースをトリムする必要があります。私はこの方法を置き換える文字列で、この正規表現を試してみた:改行を維持しながら空白を削除する

String.replace(/^\s+|\s+$/gm, ""); 

しかし、スペースのみで行に、改行はプロセスで失われます。

^^^^1234^^^^ 
^^^^5678^^^^ 
^^^^^^^ 
^^90^^ 

出力する:たとえば(^スペースを示す)

1234 
5678 
90 

私は3分の1(空の)ラインを維持するために使用する必要がありますどのような正規表現:

1234 
5678 

90 
+0

なぜ 'String.trim()'を使用できないのですか? –

+1

このメソッドには複数行モードがありますか? –

答えて

5

「\ sの"はすべての空白文字、改行にもマッチします。 あなたが望むように動作するtrimを実装するには、 "\ s"を通常のスペース文字(またはスペースとして扱われる文字のグループ)に置き換える必要があります。

string.replace(/^ +| +$/gm, ""); 
+0

'String.replace(/^\ x20 + | \ x20 + $/gm、" ")'に更新しました。うまく動作しているようだ。 –