[已解决]多行数据在首尾无分隔时的拆分问题求解
本帖最后由 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))
结果:
|26
|57270
|57300
|56700
|59700
|52950
|5682023945
|23980
|23705
|25145
|22300
|238502138.4
|2147.8
|2121.0
|2345.8
|1919.4
|2123.815535
|15565
|15310
|16135
|14310
|153603495
|3495
|3464
|3672
|3323
|3476
主要问题是行尾与行头无法拆分
想到在行头或行尾添加空格来解决,但找不到添加的方法。
;-------------------------------------------------------------
用摘抄 a版 的正则:
$data3 = StringRegExp($data1, '\H+', 3)
_ArrayDisplay($data3, UBound($data3))
结果:
|57270
|57300
|56700
|59700
|52950
|56820
|23945
|23980
|23705
|25145
|22300
|238502138.4
|2147.8
|2121.0
|2345.8
|1919.4
|2123.8
|15535
|15565
|15310
|16135
|14310
|15360
|3495
|3495
|3464
|3672
|3323
|3476
有一处因首尾无空格而未能拆分,请前辈们帮助解决,多谢了! 本帖最后由 user3000 于 2012-12-1 19:00 编辑
试试:
$data3 = StringRegExp($data1, '[\d\.]+', 3)
或者:
$data3 = StringRegExp($data1, '\d+\.?\d?', 3)
还有这个:
$data3 = StringRegExp($data1, '\S', 3) 谢谢3000!上面2个都很好! 第三种结果是单个字符,学习! 回复 3# sd23
第3种少打了个字符, 应该用 \S+ , 这样也可以.
当然都是只相应处理你给出的示例数据. 回复 4# user3000
哦,谢谢!受教了
页:
[1]