- 积分
- 13
- 注册时间
- 2007-10-27
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 messenger 于 2009-5-21 22:35 编辑
最近在用matlab中的正则表达式,感觉虽然正则表达式很多设置是基于英文来设计的,但是在对中文的处理中也是很好用的。在使用过程中发现中文这方面的资料很少,而help中有些地方表述的并不完全。例如在语句中查找括号“(”,需要用到十六进制 \xN or \x{N} 表示。但是括号这些符号究竟对应于哪个十六进制数却没有说明。研究了一会儿终于发现,这个十六进制数是符号对应的ascII码转化成的。这里和大家分享一下。
例如:将语句中小括号内的语句去掉:
str='潮王路225号红(石中央)大厦(14层)1401-1403、15层'
regexprep(str,'\x28\w+\x29','')
ans =
潮王路225号红大厦1401-1403、15层
注意句中的符号是英文的,中文的需要查处其相对应的ASCII码,然后转换成16进制。例如:
str='潮王路225号红(石中央)大厦(14层)1401-1403、15层'
>> regexprep(str,'\xFF08\w+\x29','')
ans =
潮王路225号红大厦(14层)1401-1403、15层
以后心得多的话再给大家详细总结正则表达式的中文应用。 |
评分
-
1
查看全部评分
-
|