|
楼主 |
发表于 2009-4-26 23:45:49
|
显示全部楼层
需求是把每行中的所有n替换成三位数的上个id值?那么不能用_ReplaceStringInFile,因为你无法确定每个n要替换的值。
#Include
$file = FileOpenDialog("Open", @WorkingDir, "All Files(*.*)" , 1 )
FileCop ...
sensel 发表于 2009-4-26 21:20
嗯, 很感謝, 不過試了還是不行
另外我改了一些東西
我想將
id=1
n
n
n
id=2
n
n
n
...
id=999
n
n
n
轉成
id=1
0011
0012
0013
id=2
0021
0022
0023
...
以下的代碼無效...
#Include <File.au3>
$file = FileOpenDialog("Open", @WorkingDir, "All Files(*.*)" , 1 )
FileCopy($file, $file & "_origin", 1)
$line = "id="
Local $aFileLine, $sID = ""
_FileReadToArray($file & "_origin", $aFileLine) ; 将文件内容读入数组 $aFileLine
For $i = 1 To $aFileLine[0] ; $aFileLine[0] 是文件总行数
If StringLeft($aFileLine[$i], 3) = $line Then ; 如果行的前三位等于关键字,进行处理
$sID = StringTrimLeft($aFileLine[$i], 3)
$sID = StringRight("000" & $sID, 3)
ContinueLoop
EndIf
StringReplace($aFileLine[$i], "n", $sID & "1",0 ) ; 将无关键字的行中n替换成获取的id值
StringReplace($aFileLine[$i], "n", $sID & "2",0 ) ; 将无关键字的行中n替换成获取的id值
StringReplace($aFileLine[$i], "n", $sID & "3",0 ) ; 将无关键字的行中n替换成获取的id值
Next
_FileWriteFromArray($file & "_origin", $aFileLine, 1) ; 将数组内容写回文件
求解決方法...T-T |
|