找回密码
 加入
搜索
楼主: xx44t10

[效率算法] 请教一个关于排序取前缀值的问题~![已解决]

 火.. [复制链接]
发表于 2012-11-11 19:40:10 | 显示全部楼层
回复 14# netegg

运行了~~
发表于 2012-11-11 19:42:14 | 显示全部楼层
回复 16# annybaby
不对吗?
发表于 2012-11-11 19:44:16 | 显示全部楼层
回复 1# xx44t10

不会是这样吧??

#include <Array.au3>
#include'file.au3'
Local $file,$flag=0,$m=''
_FileReadToArray('test.txt',$file)
Local $aArray[$file[0]][2]
For $i=1 To UBound($file)-1
        $temp=StringSplit($file[$i],' hash值:',1)
        $aArray[$i-1][0]=$temp[2]
        $aArray[$i-1][1]=$temp[1]
Next

_ArraySort($aArray)
For $i=0 To UBound($aArray)-1
        $b=_ArrayFindAll($aArray,$aArray[$i][0])
If UBound($b)=1 Then
        $aArray[$i][0]=''
        $aArray[$i][1]=''
        $flag+=1
EndIf
Next
_ArraySort($aArray)
For $i=$flag To UBound($aArray)-1
        FileWriteLine('result.txt',$aArray[$i][1])
Next


评分

参与人数 1金钱 +40 收起 理由
xx44t10 + 40 十分感谢你。这个思路不错。学习了。谢谢

查看全部评分

发表于 2012-11-11 20:02:51 | 显示全部楼层
回复 17# netegg

他在主帖里写的 0X****的只是举个例子,他想要的,就像是,数组去重的相反,就是只要重复的
 楼主| 发表于 2012-11-11 20:20:05 | 显示全部楼层
回复 19# annybaby


    对就 这个意思……谢谢你了。谢谢各位帮忙的朋友们……三克油你们……
发表于 2012-11-11 20:28:01 | 显示全部楼层
回复 19# annybaby

你这个结果是什么,我知道0x*****是举例,我那个也没说就是那个呀,只是为了取长度呀,有什么不对吗?
发表于 2012-11-11 20:48:14 | 显示全部楼层
#include <Array.au3>
Local $Str = FileRead('test.txt')
Local $aHash = StringRegExp($Str, '(0x\S+(?=\r|$))(?s).+?\1', 3)
If @error Then Exit MsgBox(48, '错误', @error)
For $i = 0 To UBound($aHash) - 1
        $aFile = StringRegExp($Str, '(?<=\n|^)文件:(.+) hash值:' & $aHash[$i], 3)
        _ArrayDisplay($aFile, $aHash[$i])
Next

评分

参与人数 1金钱 +30 收起 理由
xx44t10 + 30 A大这个更简单明了 通俗易懂啊。

查看全部评分

发表于 2012-11-11 20:54:28 | 显示全部楼层
回复 22# afan
我就知道afan肯定能整出正则来
发表于 2012-11-11 21:09:13 | 显示全部楼层
回复 23# netegg


    蛋蛋已修炼成精…… 开始用Assign() ... 写了个,长了点,换这个好理解点

光棍节不去鬼混还在这修炼,已经成精了,再练就化了……
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 07:07 , Processed in 0.078613 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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