(已解决)如何把一维数组转二维数组
本帖最后由 scorpio1102 于 2014-7-15 11:45 编辑如何把一个一维数组array,元素类似“afc123,中国,99920-11,232-423232456”(逗号分割)转成二维数组array2d 本帖最后由 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, $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 > $n Then $n = $ta_Arr
ReDim $a_2DArray[$p + 1][$n]
For $j = 1 To $ta_Arr
$a_2DArray[$p][$j - 1] = $ta_Arr[$j]
Next
$p += 1
Next
Return $a_2DArray
EndFunc ;==>_Array_1D_to_2D
回复 2# skyfree
非常感谢。 回复 3# scorpio1102
不谢 不错不错!! 回复 2# skyfree
Local $a_1DArray[] = ['张杰,男,北京,27', '刘阳,女,广州,23,学生', '李伟,男,上海,25']
应该改为如下:
Local $a_1DArray = ['张杰,男,北京,27', '刘阳,女,广州,23,学生', '李伟,男,上海,25']
不知道你用的是哪个版本的Au3,我目前用的这个要改成$a_1DArray才能执行。
PS:我这边是win7 32bit AU3版本:3.3.7.15 回复 6# navy
3.3.10不需要。 这个二维数组 很不错的UDF
一直在用你看看有你需要的么
http://www.autoitx.com/forum.php?mod=viewthread&tid=39869&highlight=%B6%FE%CE%AC 学习了 数组 学习中。。。。。。。。。。。。。 这个很好,又可以偷懒了.
页:
[1]