2014-03-31 190 views
0

如何將名稱「Happyending-qwertt_asdf_mnb_ko_sdf」更改爲第4個數字。012xx名稱Happyending將始終保持不變,總之我必須計算「下劃線」的數量並將其更改爲計數。帶下劃線的數字

感謝,

+1

$ _ = 'Happyending-qwertt_asdf_mnb_ko_sdf';打印tr/_ //; –

+0

Thanks Hacker .. :) – user3457622

回答

3

你可以使用transliteration

如果REPLACEMENTLIST是空的,SEARCHLIST被複制。後者對於計算類中的字符或壓縮類中的字符序列很有用。

my $count = $string =~ tr/_//; 
0

如果你不想改變字符串,你可以使用這個

my $string = "Happyending-qwertt_asdf_mnb_ko_sdf"; 

my $count =() = $string =~ m/_/g; 
+0

'tr ///'總是比'm ///'更有效率。 –

+0

@DaveCross是的,但在這種情況下,我不認爲有什麼明顯的區別:-) –

+0

嗯,你不知道代碼將被執行多少次,所以我不確定你真的有多少根據你的信念:-) –