您的位置:首页 > 其它

中文字符串匹配问题

2007-09-05 18:09 239 查看
首先看如下代码:


$s="图盟科技 mapabc";


$t="济";




if($s=~/$t/)




...{


print "good ";


}


else




...{


print "bad ";


}

程序运行结果:
good
分析:由于“图”的右半边与“盟”的左半边合成了“济”字,故匹配成功。但在中文处理中这种情况是不合理的。
解决方案:引入 Encode 包。


use Encode;




$s="图盟科技 mapabc";


$t="济";



$length=length($t);# 2


$s = Encode::decode('GB2312',$s);


$t = Encode::decode('GB2312',$t);

$length=length($t);#1


if($s=~/$t/)




...{


print "good ";


}


else




...{


print "bad ";


}

现在的结果为:
bad
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: