作者Solberg (packing for trip)
看板Perl
標題[問題] 取得開頭的字母串
時間Tue May 24 11:41:29 2016
處理到一系列的字串為
AAA001
BB002
CCCCCC33
想只取出前面的大寫字母
AAA
BB
CCCCCC
於是我寫了
$string =~ s/^([A-Z]+)/$1/;
print #string;
結果還是印出
AAA001
BB002
CCCCCC33
請問是何處寫錯了,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.38.130
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Perl/M.1464061292.A.CAB.html
1F:→ Neisseria: 改成 $string =~ s/^([A-z]+).*/$1/s; 05/24 13:05
2F:→ Neisseria: 要把後面的部分也抓進來,然後再取代掉 05/24 13:06
3F:→ Solberg: 感謝你,可行了,但我對.*這塊還是不懂,為何要抓後面的 05/24 13:44
4F:→ Neisseria: 因為要抓進來後再取代掉,要不然等於沒改到 05/24 15:35
5F:→ Neisseria: 取代是把 regex 抓到的整個字串取代掉 05/24 15:38
6F:→ Neisseria: 只是這個例子剛好是用原字串其中一部分做為取代的字串 05/24 15:38
7F:→ Solberg: 對吼,是要整個取代掉,瞭解了,感謝~~~ 05/26 11:07