中文字符串匹配问题
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
$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
相关文章推荐
- ASP VBScript脚本多字符串匹配问题
- 数据库_MySql_中文字符显示乱码问题
- Jsp以get方式提交中文及特殊字符,javascript处理乱码问题
- java中的字节、字符、编码以及中文乱码问题
- 代码中执行sql语句访问mysql,无法匹配中文字符的问题
- Tomcat中间件URL中文字符传递问题
- 关于springmvc怎么完成中文字符的接收问题
- 关于GTK+ widget上显示中文字符有误的问题!
- 关于属性传输中文的编码字符问题
- smarty截取中文字符乱码问题?gb2312-------utf-8
- ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
- 解决SecureCRT中文字符乱码问题
- MySQL与php网页中显示的中文字符不一致问题
- Apache HTTP Server路径不支持中文字符问题的解决办法
- 读取cookie中文字符乱码的问题
- 是oracle 解析XML文件中文字符是乱码问题?
- javaweb中文字符编码乱码问题
- Code::Blocks 中文字符输出乱码的问题求解?
- Linux 下Python2.7解决list打印中文字符问题
- 字符串匹配之通配符问题------一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。