alomoi 发表于 2012-7-29 15:06:08

[已解决]如何以数字与文字的交界为分割点,分段读取字符?

本帖最后由 alomoi 于 2012-7-29 18:03 编辑

现在有这么一段内容张三30.44李四54王五24.1赵六545李小四121.27需要以数字与文字的交界处为分割点,分段读取内容,最后达到如下的效果张三30.44
李四54
王五24.1
赵六545
李小四121.27问题在于文字和数字的内容及长度均不固定,纠结了好久实在想不到要怎么样才能取到数字结束文字开始的交界处作为分割点。
求各位前辈指教m(_ _)m

netegg 发表于 2012-7-29 17:05:15

没明白,不过正则应该可以

xms77 发表于 2012-7-29 17:28:36

#include <Array.au3>
Local $Str = '张三30.44李四54王五24.1赵六545李小四121.27' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '[\x{4e00}-\x{9fa5}]+\w+[\.\w]+', 3)
If Not @Error Then _ArrayDisplay($Test)回复 1# alomoi

alomoi 发表于 2012-7-29 17:45:51

回复 3# xms77

问题解决,感谢前辈指点m(_ _)m
方便的话能否简单注解下前辈写的正则表达式?以便学习w

xms77 发表于 2012-7-29 20:09:37

回复 4# alomoi
最好用‘[\x{4e00}-\x{9fa5}]+\d+[\.\d]+’
[\x{4e00}-\x{9fa5}]+表示多个中文字符
\d+表示多个数字
[\.\d]+表示多个可以是"."也可以是数字

alomoi 发表于 2012-7-29 20:57:56

回复alomoi
最好用‘[\x{4e00}-\x{9fa5}]+\d+[\.\d]+’
[\x{4e00}-\x{9fa5}]+表示多个中文字符
\d+ ...
xms77 发表于 2012-7-29 20:09 http://www.autoitx.com/images/common/back.gif

感谢指点m(_ _)m
正则这东西如果没有资料的话看起来完全就是天书T T

yangdai 发表于 2018-10-17 05:45:28

練習
StringRegExp($str, '([^\d.]+[\d.]+)', 3)
页: [1]
查看完整版本: [已解决]如何以数字与文字的交界为分割点,分段读取字符?