$line='55.25040882, 3,,,,,,'
私は現在、すべての空白と繰り返されるコンマとピリオドを削除したい
文字列、たとえば を持っています。現在、私は持っています:
$line =~ s/[.,]{2,}//;
$line =~ s/\s{1,}//;
私が得るように、これはうまくいきます'55.25040882,3'
が、試してみると
$line =~ s/[.,\s]{2,}//;
「、」を抜いて、「、、、、、、」を残します。最初のコンマを保持し、空白だけを取り除きたいです。
1行の正規表現でこれをエレガントに行う方法はありますか? 追加情報を提供する必要がある場合はお知らせください。
編集:非常に多くの解決策があったため、以下の回答で質問を更新することにしました:
$line =~ s/([.,])\1{1,}| |\t//g;
これにより、繰り返されるすべてのピリオドとコンマが削除され、すべてのスペースとタブが削除されますが、\r および \n 文字は保持されます。やり方はいろいろありますが、私はこれに落ち着きました。本当にありがとう!