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

[效率算法] 已解决删除一维数组空值行的问题

[复制链接]
发表于 2012-4-28 23:08:10 | 显示全部楼层 |阅读模式
本帖最后由 网店 于 2012-4-29 01:37 编辑

用正则匹配会有几行空值(数据本身问题)
如 $temp
1、11111111111111111111111111
2、
3、33333333333333333333333333


其中行“2” 因无数据而留空
问题:
如何删除这些 “空” 的行??
成为

1、11111111111111111111111111
2、33333333333333333333333333

自解决,用判断空
    if $temp[$j] <> "" then
                _ArrayDisplay($temp)
    EndIf
无效
发表于 2012-4-28 23:41:43 | 显示全部楼层
楼主您看_ArrayDisplay的说明了?
#include <Array.au3>
Local $avArray[10]
$avArray[0] = "JPM"
$avArray[1] = "Holger"
$avArray[2] = "Jon"
$avArray[3] = ""
$avArray[4] = "Jeremy"
$avArray[5] = "Valik"
$avArray[6] = "Cyberslug"
$avArray[7] = "Nutster"
$avArray[8] = ""
$avArray[9] = "Tylo"
_ArrayDisplay($avArray, "$avArray 原 _ArrayDelete()")

For $n = UBound($avArray)-1 To 0 Step -1
        If $avArray[$n]= "" Then _ArrayDelete($avArray, $n)
Next
_ArrayDisplay($avArray, "$avArray 后 _ArrayDelete()")
发表于 2012-4-28 23:48:49 | 显示全部楼层
回复 2# 502762378


    哎。恍然大悟。。。倒着删回来就好了嘛
刚才我用For $i = 0 To UBound($avArray) - 1会报错 发现如果某一行为空时_arraydelete删掉之后数组维度就小了 但$i的最大值没有变  超出数组的维度就会报错 正在想如何解决这个问题。
发表于 2012-4-28 23:53:33 | 显示全部楼层
回复 3# zch11230


    以前因为这个我都改过自定义函数
 楼主| 发表于 2012-4-29 00:32:52 | 显示全部楼层
这样看来整体处理上又增加一层 FOR。。。。。。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-21 00:31 , Processed in 0.077727 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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