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):}
页: 1 2 [3]
查看完整版本: 如何读取TXT文本文档里面指定的字符前面的值或后面的值【已解决】