2016-08-16 17 views
-4

"|"で区切られた文字列の各列の先頭と末尾の空白を削除する必要があります。文字列の各列の先頭と末尾の空白を削除するPerlの正規表現

TEST | 100 | 0.00 | TEST STRING 次の正規表現を使用してスペースを削除していますが、動作していないようです。

$data = "TEST|    100|   0.00 |TEST STRING "; 
$data =~ s/(^|\|)\s+/\1/g; 
$data =~ s/\s+$//; 

助けてください。

+1

コードはありますか?何かエラーがありますか? – NepCoder

+4

'$ data =〜s/\ s * \ | \ s */|/g;' –

+0

Mattが言ったことの後に、最後の後続スペースを取り除くコード 's/\ s + $ //' – Hambone

答えて

0

これは、最初の列データを含む各列データのすべての後続スペースと先頭スペースを削除するために有効です。

$data = " TEST |    100|   0.00 |TEST STRING "; 
$data =~ s/\s*\|\s*/|/g; 
$data =~ s/\s+$//; 
$data =~ s/^\s+//; 
print "$data\n"; 
関連する問題