2012-04-05 51 views
2

我有1個美元符號($)的觀察值和2個美元符號($)的觀察值。我想爲每種類型的觀察分配不同的值。它應該是這個樣子:SAS中的正則表達式匹配

「$ 200 $ 300」被分配1. 「$ 200」被分配2

我已經試過通配符整天,但沒有運氣用Perl玩。

謝謝。

回答

6

SAS countc()函數如何計算「$」的出現次數?

%put %sysfunc(countc($300 $400,'$')); /* returns 2 */ 
%put %sysfunc(countc($300 ,'$'));  /* returns 1 */ 
+1

廢話。忘了SAS擁有所有這些有趣的超級特定功能。是的,這是完全合理的。 – aesir 2012-04-05 18:01:02

3

您可以使用goatse operator

my @str = ('$200 $300', '$200'); 

foreach my $str (@str) { 
    my $count =()= $str =~ /\$/g; 
    print "count for $str is $count\n"; 
} 

然後根據您的$count是什麼,相應的分配值。

+2

+1讓我看看代碼,直到找到它:p – user667489 2012-04-06 15:49:26