funco 发表于 2013-2-20 10:30:07

【已解决】排序问题。

本帖最后由 funco 于 2013-3-6 23:13 编辑

假设多条数据类似如:姓名小a,身高175,年龄18,体重50kg,爱好运动。怎么将数据依年龄排序呢?其他信息怎么也跟着排序?

nmgwddj 发表于 2013-2-20 10:53:08



给你个群里人回复的截图。哈哈

大绯狼 发表于 2013-2-20 11:02:44

#include <array.au3>
$s="姓名小a,身高175,年龄18"&@CRLF
$s&="姓名小b,身高170,年龄19"&@CRLF
$s&="姓名小c,身高180,年龄24"&@CRLF
$s&="姓名小c,身高179,年龄14"
$sortArr=sort(StringSplit($s,@CRLF,3))
_ArrayDisplay($sortArr)

Func sort($arr)
        Dim $outArr
        For $i=0 To UBound($arr)-1
                ReDim $outArr[$i+1]
                $outArr[$i]=$arr[$i]
                $age=StringRegExp($arr[$i],"年龄(\d+)",3)
                $outArr[$i]=$age
        Next
        _ArraySort($outArr, 0, 0, 0, 1)
        Return $outArr
EndFunc直接给你一份吧

funco 发表于 2013-2-20 11:13:50

回复 3# 大绯狼

代码写得很好,很简洁。学习了。。谢谢!

Qokelate 发表于 2013-2-20 23:15:28

把年龄放在行首   然后直接按行排序

通常来说   我是这么搞的

cnergao 发表于 2013-2-20 23:59:54

回复 3# 大绯狼
StringSplit($s,@CRLF,3)
这里的标志3是什么意思?使用说明书里只有0、1、2的标志。没有3的说明。我试了一下。4、5、6、7、8、9都有。

lxwlxwayy 发表于 2013-2-21 01:18:22

大派的代吗好强啊
页: [1]
查看完整版本: 【已解决】排序问题。