回复 afan
afan 兄:你好!此代碼試還是一樣,同樣是運行后完成不了,卡在下面的地方就不動了。我使用的 ...
wenquan79 发表于 2013-2-1 14:01 
看不出什么问题。你可以直接执行au3文件看看。或者打包上传你的txt文档。
以下多加了个判断,如果全都有匹配则写空4.txt- Local $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)))
复制代码 |