lele9013 发表于 2009-8-18 10:49:14

处理txt文本时 发现 多行空行 如何删掉?

处理txt文本时 发现 多行空行 如何删掉?

比如

aaaa


bbbb


cccc


修正成

aaaa
bbbb
cccc

afan 发表于 2009-8-18 11:36:41

本帖最后由 afan 于 2010-1-2 21:39 编辑

用 FileReadLine 及 _FileWriteToLine 可以

或使用 StringRegExpReplace 或 StringReplace 处理更快速~

已写成相关udf,发布处理多种情况,改日发布。

ndyndy 发表于 2009-8-18 13:42:28

我用一个笨办法再建一个空文件test1.txt
$file = FileOpen("test1.txt", 1)
Dim $aArray2
_FileReadToArray('test.txt', $aArray2)
for $x=1 to $aArray2
if $aArray2[$x] <> "" then
      FileWriteLine($file,$aArray2[$x] )
endif
next

afan 发表于 2009-8-18 14:16:48

不需要新建文件,可以直接处理#include <File.au3>
Dim $aArray2, $b
_FileReadToArray('test1.txt', $aArray2)
For $x = 1 To $aArray2
        If $aArray2[$x] = "" Then
                _FileWriteToLine('test1.txt', $x - $b, '', 1)
                $b += 1
        EndIf
Next

linmi 发表于 2009-8-18 14:27:38

可以用sed.exe
sed.exe -e "/^ *$/d" 删除所有的空行。

crazy715 发表于 2009-8-19 17:04:34

不需要新建文件,可以直接处理#include
Dim $aArray2, $b
_FileReadToArray('test1.txt', $aArray2)
For $x = 1 To $aArray2
        If $aArray2[$x] = "" Then
                _FileWriteToLine('test1.txt', $x - $b, '', 1) ...
afan 发表于 2009-8-18 14:16 http://www.autoitx.com/images/common/back.gif

$b不用付初值?

afan 发表于 2009-8-19 17:11:15

6# crazy715


此种用途可以不设~

jevonleen 发表于 2010-5-12 03:58:41

2楼正解,其实方法还是比较简单的,但本人最近在处理几十亿条数据时,却发现TXT的读取速度太慢,请高手支招!

afan 发表于 2010-5-12 09:38:03

2楼正解,其实方法还是比较简单的,但本人最近在处理几十亿条数据时,却发现TXT的读取速度太慢,请高手支招!
jevonleen 发表于 2010-5-12 03:58 http://www.autoitx.com/images/common/back.gif


    老帖被你翻出来了
http://www.autoitx.com/thread-11801-1-1.html
页: [1]
查看完整版本: 处理txt文本时 发现 多行空行 如何删掉?