ttmv2019sx 发表于 2021-3-6 17:22:29

afan 发表于 2021-3-6 14:38
晕 读写文件不是基础中的基础吗…

#include <MsgBoxConstants.au3>
#include <File.au3>
Exe()
Local $fi
Func Exe()
      Local $aArray = FileReadToArray('1.txt')
           Local $iLineCount = @extended
    If @error Then
      MsgBox($MB_SYSTEMMODAL, "", "读取文件时出现错误. @error: " & @error)
    Else
      For $i=($iLineCount - 1) to 0 step -1;
                        MsgBox($MB_SYSTEMMODAL, "", $aArray[$i])

                                        Local $sSource
                        $sSource =$aArray[$i] & @CRLF & $sSource
      Next
                Local $sSource1 = StringRegExpReplace($sSource, '(?m)\v*^\V*\s*\z', '')
               MsgBox($MB_SYSTEMMODAL, "", $sSource1)

$fi = FileOpen('1.txt', 2)
               FileWrite($fi, $sSource1)
      FileClose($fi)

        EndIf
EndFunc



原因,只要用到A大,你的这个一句就行了,Local $sSource1 = StringRegExpReplace($sSource, '(?m)\v*^\V*\s*\z', '')   上面是我自个整理出来的,但是就是一直在想怎么删除空行,,我看你的这个命令不光是删除空行???不知道具体是什么意思来的,

风过无痕 发表于 2021-3-6 18:51:36

ttmv2019sx 发表于 2021-3-6 17:22
#include
#include
Exe()


正则了解下

gyp2000 发表于 2021-3-6 22:12:54

不用正则实现的代码。
#include <File.au3>
$sFilePath = @ScriptDir&"\test.txt"
If FileExists($sFilePath) Then FileDelete($sFilePath)
FileWrite($sFilePath, "123"&@CRLF&"456"&@CRLF&"789"&@CRLF)
$Lin = _FileCountLines ( $sFilePath )
MsgBox(0,"最后一行",FileReadLine($sFilePath, -1))
_FileWriteToLine ( $sFilePath, $Lin, "",True)
ShellExecute($sFilePath)

ttmv2019sx 发表于 2021-3-8 16:39:37

gyp2000 发表于 2021-3-6 22:12
不用正则实现的代码。
#include
$sFilePath = @ScriptDir&"\test.txt"


谢谢你的回答 。
页: 1 [2]
查看完整版本: 关于文件TXT读行的一个问题请教!【已解决】