作者bustta (华丽的冒险)
看板Perl
标题[问题] 字串比对处理
时间Sun Jun 8 03:33:29 2008
目前正着手转码的工作,目前有类似以下两种字串
$str1 = c
¥¿ªù¤f¹D¸¸ô01 ;
$str2 = a
¥¿ªù_¸ô¼Ð¬W08 ;
黄字部分是主要要进行转码的字串,因为档案里面两种格式都有,所以必须先进行
判别的工作,小弟如此写:
if ($line =~ m/(.*?)(&.*;)(.*)/g || $line =~ m/(.*?)(&.*;[\w])(.*)/g)
後再将$2的字串提出出来转码。
结果无法成功所以才来此求救...主要||前的写法对於str2最後的W他会漏掉,因此才加了
||後的写法,但还是行不通,执行结果跟没有写||後的结果相同;
另外只有写if ($line =~ m/(.*?)(&.*;[\w])(.*)/g) 这样的话,当然它str1只会处理绿
色底处。
小弟想请教是否有建全的方法来处理这两类字串呢?
麻烦各位了 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.116.41.73
※ 编辑: bustta 来自: 59.116.41.73 (06/08 03:34)
※ 编辑: bustta 来自: 59.116.41.73 (06/08 03:42)
1F:推 LiloHuang:s/&#x([a-fA-F0-9]{2});/pack("C", hex($1))/eg; print; 06/08 11:02
2F:→ bustta:=Q= 简洁实用,真威...受教了,谢谢^^~ 06/08 18:30