找回密码
 加入
搜索
查看: 5168|回复: 10

[AU3基础] (已解决)如何把一维数组转二维数组

  [复制链接]
发表于 2014-5-7 11:34:48 | 显示全部楼层 |阅读模式
本帖最后由 scorpio1102 于 2014-7-15 11:45 编辑

如何把一个一维数组array[x行],元素类似“afc123,中国,99920-11,232-423232456”(逗号分割)转成二维数组array2d[X行][4]
发表于 2014-5-7 11:57:23 | 显示全部楼层
本帖最后由 skyfree 于 2014-5-7 12:01 编辑

大概是这样的效果?
#include <Array.au3>

Opt('MustDeclareVars', 1)

_Main()
Exit

Func _Main()
        Local $a_1DArray[] = ['张杰,男,北京,27', _
                        '刘阳,女,广州,23,学生', _
                        '李伟,男,上海,25']
        _ArrayDisplay($a_1DArray, '$a_1DArray')
        
        Local $a_2DArray = _Array_1D_to_2D($a_1DArray)
        _ArrayDisplay($a_2DArray, '$a_2DArray')
        
EndFunc   ;==>_Main

Func _Array_1D_to_2D(Const ByRef $a_1DArray)
        Local $a_2DArray[1][1], $p = 0
        Local $ta_Arr
        Local $n = 1
        Local $i, $j
        For $i = 0 To UBound($a_1DArray, 1) - 1
                $ta_Arr = StringSplit($a_1DArray[$i], ',')
;~                 _ArrayDisplay($ta_Arr, '$ta_Arr')
                If $ta_Arr[0] > $n Then $n = $ta_Arr[0]
                
                ReDim $a_2DArray[$p + 1][$n]
                For $j = 1 To $ta_Arr[0]
                        $a_2DArray[$p][$j - 1] = $ta_Arr[$j]
                Next
                $p += 1
        Next
        Return $a_2DArray
EndFunc   ;==>_Array_1D_to_2D

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2014-5-7 13:57:00 | 显示全部楼层
回复 2# skyfree


    非常感谢。
发表于 2014-5-7 16:29:27 | 显示全部楼层
回复 3# scorpio1102


    不谢
发表于 2014-5-7 19:48:52 | 显示全部楼层
不错不错!!
发表于 2014-5-7 20:40:11 | 显示全部楼层
回复 2# skyfree

Local $a_1DArray[] = ['张杰,男,北京,27', '刘阳,女,广州,23,学生', '李伟,男,上海,25']
应该改为如下:
Local $a_1DArray[3] = ['张杰,男,北京,27', '刘阳,女,广州,23,学生', '李伟,男,上海,25']

不知道你用的是哪个版本的Au3,我目前用的这个要改成$a_1DArray[3]才能执行。
PS:我这边是win7 32bit AU3版本:3.3.7.15
发表于 2014-5-7 21:37:21 | 显示全部楼层
回复 6# navy


    3.3.10不需要。
发表于 2014-5-7 22:47:34 | 显示全部楼层
这个二维数组 很不错的UDF
一直在用你看看有你需要的么
http://www.autoitx.com/forum.php ... hlight=%B6%FE%CE%AC
发表于 2014-5-8 14:08:21 | 显示全部楼层
学习了 数组
发表于 2014-5-8 16:25:32 | 显示全部楼层
学习中。。。。。。。。。。。。。
发表于 2015-11-22 18:56:00 | 显示全部楼层
这个很好,又可以偷懒了.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 22:46 , Processed in 0.074763 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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