[问题] 取得开头的字母串

楼主: Solberg (packing for trip)   2016-05-24 11:41:29
处理到一系列的字串为
AAA001
BB002
CCCCCC33
想只取出前面的大写字母
AAA
BB
CCCCCC
于是我写了
$string =~ s/^([A-Z]+)/$1/;
print #string;
结果还是印出
AAA001
BB002
CCCCCC33
请问是何处写错了,谢谢。
作者: Neisseria (Neisseria)   2016-05-24 13:05:00
改成 $string =~ s/^([A-z]+).*/$1/s;要把后面的部分也抓进来,然后再取代掉
楼主: Solberg (packing for trip)   2016-05-24 13:44:00
感谢你,可行了,但我对.*这块还是不懂,为何要抓后面的
作者: Neisseria (Neisseria)   2016-05-24 15:35:00
因为要抓进来后再取代掉,要不然等于没改到取代是把 regex 抓到的整个字串取代掉只是这个例子刚好是用原字串其中一部分做为取代的字串
楼主: Solberg (packing for trip)   2016-05-26 11:07:00
对吼,是要整个取代掉,了解了,感谢~~~

Links booklink

Contact Us: admin [ a t ] ucptt.com