找回密码
 加入
搜索
查看: 4448|回复: 6

[AU3基础] 【已解决】排序问题。

  [复制链接]
发表于 2013-2-20 10:30:07 | 显示全部楼层 |阅读模式
本帖最后由 funco 于 2013-3-6 23:13 编辑

假设多条数据类似如:姓名小a,身高175,年龄18,体重50kg,爱好运动。怎么将数据依年龄排序呢?其他信息怎么也跟着排序?
发表于 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[1][2]
        For $i=0 To UBound($arr)-1
                ReDim $outArr[$i+1][2]
                $outArr[$i][0]=$arr[$i]
                $age=StringRegExp($arr[$i],"年龄(\d+)",3)
                $outArr[$i][1]=$age[0]
        Next
        _ArraySort($outArr, 0, 0, 0, 1)
        Return $outArr
EndFunc
直接给你一份吧

评分

参与人数 1金钱 +20 收起 理由
zldfsz + 20 +

查看全部评分

 楼主| 发表于 2013-2-20 11:13:50 | 显示全部楼层
回复 3# 大绯狼

代码写得很好,很简洁。学习了。。谢谢!
发表于 2013-2-20 23:15:28 | 显示全部楼层
把年龄放在行首   然后直接按行排序

通常来说   我是这么搞的
发表于 2013-2-20 23:59:54 | 显示全部楼层
回复 3# 大绯狼
StringSplit($s,@CRLF,3)
这里的标志3是什么意思?使用说明书里只有0、1、2的标志。没有3的说明。我试了一下。4、5、6、7、8、9都有。
发表于 2013-2-21 01:18:22 | 显示全部楼层
大派的代吗好强啊
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 15:11 , Processed in 0.078426 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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