2017-04-09 37 views
0

Perlを使って文字列内のすべての正の整数と負の整数を抽出したい。文字列は次の文字やスペースが含まれている - 、{}Perlの文字列中の正の整数と負の整数の両方を抽出する

例:

$a = "{ { 0,256,0,0 },{ -2,256,2,0 },{ -4,256,4,0 },{ -6,255,7,0 } 
    ,{ -7,254,10,-1 },{ -8,252,13,-1 },{ -10,251,16,-1 } 
    ,{ -10,249,19,-2 },{ -12,247,23,-2 },{ -14,245,27,-2 } 
    ,{ -14,242,31,-3 },{ -15,239,35,-3 },{ -15,236,39,-4 } 
    ,{ -16,233,44,-5 },{ -17,230,48,-5 },{ -17,226,53,-6 } 
    ,{ -18,222,58,-6 },{ -18,218,63,-7 }"; 

私のO/Pは、0を含む配列@b、256,0,0、-2,256,2,0なければなりません.. 。等の要素として

私は次のコマンドを試しましたが、スペース/ヌル要素もo/p配列に追加されています。

my @b = split (/[,{}\s]/,$a); 

答えて

6

抽出する場合、あなたは多くの場合、あなたが望んでいないかについてたい、代わりの分割を行う何のために見てみたいです。この場合、グローバル正規表現マッチを試してください:

# Match each integer-like value, including sign: 
my @b = $a =~ /-?\d+/g; 

このトリックを行うようです。

+0

ありがとうございました。それは働いた – Maximus

関連する問題