annybaby 发表于 2012-11-11 19:40:10

回复 14# netegg

运行了~~

netegg 发表于 2012-11-11 19:42:14

回复 16# annybaby
不对吗?

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]
For $i=1 To UBound($file)-1
        $temp=StringSplit($file[$i],' hash值:',1)
        $aArray[$i-1]=$temp
        $aArray[$i-1]=$temp
Next

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


annybaby 发表于 2012-11-11 20:02:51

回复 17# netegg

他在主帖里写的 0X****的只是举个例子,他想要的,就像是,数组去重的相反,就是只要重复的

xx44t10 发表于 2012-11-11 20:20:05

回复 19# annybaby


    对就 这个意思……谢谢你了。谢谢各位帮忙的朋友们……三克油你们……

netegg 发表于 2012-11-11 20:28:01

回复 19# annybaby

你这个结果是什么,我知道0x*****是举例,我那个也没说就是那个呀,只是为了取长度呀,有什么不对吗?

afan 发表于 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

netegg 发表于 2012-11-11 20:54:28

回复 22# afan
我就知道afan肯定能整出正则来{:face (356):}

afan 发表于 2012-11-11 21:09:13

回复 23# netegg


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

光棍节不去鬼混还在这修炼,已经成精了,再练就化了……
页: 1 [2]
查看完整版本: 请教一个关于排序取前缀值的问题~![已解决]