afan
发表于 2012-12-1 22:48:24
本帖最后由 afan 于 2012-12-1 22:50 编辑
Local $sFile = FileRead('test.txt'), $sDelimiter = '*'
Local $aLineAB = StringRegExp($sFile, '(?m)(.*?)\' & $sDelimiter & '(\V+)', 3)
If @error Then Exit MsgBox(0, '错误', '不能打开文件或文件无指定分割符')
Local $iTotal = UBound($aLineAB), $iStart = 0
HotKeySet('{esc}', '_Exit') ;按Esc键退出
HotKeySet('{f1}', '_GetData') ;按一次F1键读一次
While 1
Sleep(10000)
WEnd
Func _GetData()
MsgBox(0, ' 行 ' & ($iStart + 2) / 2, $aLineAB[$iStart] & @LF & $aLineAB[$iStart + 1])
$iStart += 2
If $iStart = $iTotal Then $iStart = 0
EndFunc ;==>_GetData
Func _Exit()
Exit
EndFunc ;==>_Exit
MicroBlue
发表于 2012-12-2 11:26:09
正则表达式吧 。 \d+
fanxian
发表于 2012-12-3 20:25:46
一行里有两个*号怎么办
netegg
发表于 2012-12-3 20:44:54
本帖最后由 netegg 于 2012-12-3 20:48 编辑
#include <file.au3>
#include<array.au3>
_filewritetoline('1.txt', 1, '')
_ReplaceStringInFile('1.txt', '*', '=')
$aIni = IniReadSection('1.txt', 'item')
_ArrayDisplay($aIni)
来个看着行数少点的
sleep365
发表于 2012-12-4 18:32:42
搞得别人机子死循环啊。{:face (125):}