Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61230
  • 博文数量: 10
  • 博客积分: 393
  • 博客等级: 一等列兵
  • 技术积分: 124
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-09 09:37
文章分类

全部博文(10)

文章存档

2012年(1)

2011年(5)

2010年(4)

我的朋友

分类: Python/Ruby

2012-02-01 16:38:04

这几天一直被一个诡异的问题困扰。
我写了个非常简单的sql,循环执行,结果各异。。。唯一区别就是其中的一个条件while hostname like '$host%';

就是这条简单的语句,害死哥了!为啥,因为这个$host字符串里面,居然还有普通模式看不出的控制字符!! ^F这个控制字符。。。这个玩意害我debug了2天!!

既然发现了问题的根源,就可以开始想办法解决了。
首先我考虑的是那些perl的控制字符,但是遍历很久,都没有发现比较合适的,比如\s,\w之类的,都不满足,后来google搜的时候,发现了这个替换方法:直接通过ASCII的编码进行约束,比如这样:
s/[^\040-\176]//g;

直接将字符串中 ASCII编码不是40--176的字符串删除。。。非常便捷!

各位可以根据需要约定字符串的范围,不管你们用没用,反正我用了之后,上面的特殊控制字符"^F"就彻底滚蛋了!!爽!
阅读(3291) | 评论(1) | 转发(0) |
0

上一篇:perl集腋成裘

下一篇:没有了

给主人留下些什么吧!~~

mfksn0012013-06-03 15:29:01

汉字会出问题