回复 afan
afan 兄:你好!此代碼試還是一樣,同樣是運行后完成不了,卡在下面的地方就不動了。我使用的 ...
wenquan79 发表于 2013-2-1 14:01
看不出什么问题。你可以直接执行au3文件看看。或者打包上传你的txt文档。
以下多加了个判断,如果全都有匹配则写空4.txtLocal $str1 = FileRead('1.txt')
Local $str2 = FileRead('2.txt')
$ts = TimerInit()
Local $aSR2 = StringRegExp($str2, '(\S+)\h+(\S+)', 3)
If @Error Then Exit
For $i = 0 To UBound($aSR2) - 1 Step 2
Assign('~' & $aSR2[$i], $aSR2[$i + 1])
Next
Opt('ExpandVarStrings', 1)
$str1 = StringRegExpReplace($str1, '(?:\S+\h+\S+\h+)(\S+)', '$0 $~$1$')
Local $FO = FileOpen('3.txt', 2 + 8)
FileWrite($FO, $str1)
FileClose($FO)
If StringInStr($str1, '$~') Then
Local $str4 = StringRegExpReplace($str1, '(?s).+?(\S+)\h+\$~.+?\$\h+.+?', '$1______')
$str4 = StringRegExpReplace($str4, '(?s)______[^_]+$', '')
$str4 = StringRegExpReplace($str4, '______', @CRLF)
Else
Local $str4 = ''
EndIf
$FO = FileOpen('4.txt', 2 + 8)
FileWrite($FO, $str4)
FileClose($FO)
Msgbox(0, '完成耗时', Round(TimerDiff($ts)))
|