作者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/cn.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