找回密码
 加入
搜索
查看: 2098|回复: 4

[AU3基础] [已解决]多行数据在首尾无分隔时的拆分问题求解

[复制链接]
发表于 2012-12-1 18:14:51 | 显示全部楼层 |阅读模式
本帖最后由 sd23 于 2012-12-1 19:13 编辑

抓取到如下几行数据,需要将其拆分后单独赋值:

$data1 =

57270      57300       56700      59700       52950      56820
23945      23980       23705      25145       22300      23850
2138.4     2147.8      2121.0     2345.8      1919.4     2123.8
15535      15565       15310      16135       14310      15360
   3495        3495         3464        3672         3323        3476

作如下处理:

        $data2 = StringStripWS( $data1 , 1+4)
        $data3 = StringSplit($data2," ")
        _ArrayDisplay($data3, UBound($data3))

结果:
[0]|26
[1]|57270
[2]|57300
[3]|56700
[4]|59700
[5]|52950
[6]|5682023945
[7]|23980
[8]|23705
[9]|25145
[10]|22300
[11]|238502138.4
[12]|2147.8
[13]|2121.0
[14]|2345.8
[15]|1919.4
[16]|2123.815535
[17]|15565
[18]|15310
[19]|16135
[20]|14310
[21]|153603495
[22]|3495
[23]|3464
[24]|3672
[25]|3323
[26]|3476

主要问题是行尾与行头无法拆分
想到在行头或行尾添加空格来解决,但找不到添加的方法。
;-------------------------------------------------------------
用摘抄 a版 的正则:

$data3 = StringRegExp($data1, '\H+', 3)
_ArrayDisplay($data3, UBound($data3))

结果:

[0]|57270
[1]|57300
[2]|56700
[3]|59700
[4]|52950
[5]|56820
[6]|23945
[7]|23980
[8]|23705
[9]|25145
[10]|22300
[11]|238502138.4
[12]|2147.8
[13]|2121.0
[14]|2345.8
[15]|1919.4
[16]|2123.8
[17]|15535
[18]|15565
[19]|15310
[20]|16135
[21]|14310
[22]|15360
[23]|3495
[24]|3495
[25]|3464
[26]|3672
[27]|3323
[28]|3476

有一处因首尾无空格而未能拆分,请前辈们帮助解决,多谢了!
发表于 2012-12-1 18:55:14 | 显示全部楼层
本帖最后由 user3000 于 2012-12-1 19:00 编辑

试试:
$data3 = StringRegExp($data1, '[\d\.]+', 3)
或者:
$data3 = StringRegExp($data1, '\d+\.?\d?', 3)


还有这个:
$data3 = StringRegExp($data1, '\S', 3)
 楼主| 发表于 2012-12-1 19:12:27 | 显示全部楼层
谢谢3000!上面2个都很好! 第三种结果是单个字符,学习!
发表于 2012-12-1 19:18:38 | 显示全部楼层
回复 3# sd23

第3种少打了个字符, 应该用 \S+ , 这样也可以.
当然都是只相应处理你给出的示例数据.
 楼主| 发表于 2012-12-1 19:24:55 | 显示全部楼层
回复 4# user3000

哦,谢谢!受教了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 17:28 , Processed in 0.078728 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表