找回密码
 加入
搜索
查看: 3432|回复: 10

[AU3基础] 【已解決】請教--如何將文本中的空白行刪除。

  [复制链接]
发表于 2012-11-28 10:50:26 | 显示全部楼层 |阅读模式
本帖最后由 wenquan79 于 2012-11-29 11:42 编辑

如題,將文本中的空白行刪除-要怎么寫,謝謝!

------文本內容-----
00122    aa1,aa3,adf4,
adffd2    adf,1adf,1daf,

adf3    4c,5c,4s,sd3,sd1,

3dfc   4e,5f,4s,3g,s4,dg,
发表于 2012-11-28 10:53:32 | 显示全部楼层
回复 1# wenquan79


    手机上网,看不到有空白行
 楼主| 发表于 2012-11-28 10:57:51 | 显示全部楼层
本帖最后由 wenquan79 于 2012-11-28 10:58 编辑

回复 2# annybaby
就是說一個文本里有空白的行,怎么才可以將那空白行刪除,其語言的教程很多,我用BAT的也可以實現,但用autoit不知道怎么寫。
可以先用FileReadLine返回的什來判斷這行是否為空,若是直接刪除?謝謝!
发表于 2012-11-28 11:28:55 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-11-28 11:45 编辑

回复 1# wenquan79

方法很多,下面是其中一种:
Global Const $srcFile = @ScriptDir & '\file.txt'
Global Const $desFile = @ScriptDir & '\output.txt'

Local $text = FileRead($srcFile)
$text = StringRegExpReplace($text, '[\r\n]{2,}', @CRLF)
FileWrite($desFile, $text)

注:之所以用[\r\n]而不用(\r\n),是为了兼容unix格式的文本(只有\n没有\r)。
  
其实,在linux下用sed处理最快捷,一行命令搞定:
sed '/^$/d' file.txt >output.txt
也可以网上找个 sed.exe 在Windows下来调用。
发表于 2012-11-28 11:29:28 | 显示全部楼层
本帖最后由 afan 于 2012-11-28 14:30 编辑

简单的就简单
Local $Str = _
                '00122    aa1,aa3,adf4,' & @CRLF & _
                'adffd2    adf,1adf,1daf,' & @CRLF & @CRLF & _
                'adf3    4c,5c,4s,sd3,sd1,' & @CRLF & _
                '  ' & @CRLF & _
                '3dfc   4e,5f,4s,3g,s4,dg,' & @CRLF & @CRLF & @CRLF
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '(\r?\n\h*){2,}', @CRLF)
MsgBox(0, '替换结果', $Test)
发表于 2012-11-28 14:31:04 | 显示全部楼层
这个问题afan好像去年还是前年就写出udf了,还要问,lz面壁去
发表于 2012-11-28 18:21:03 | 显示全部楼层
字符格式,再另存
 楼主| 发表于 2012-11-29 11:41:45 | 显示全部楼层
感謝xiehuahere兄、afan兄,經測試你們的代碼都可以。
 楼主| 发表于 2012-11-29 11:44:12 | 显示全部楼层
回复 7# netegg

可能是這繁體字的原因,我有先搜了,結果沒找到,以后會改簡體先搜索,謝謝了!
发表于 2012-12-7 10:47:38 | 显示全部楼层
回复 10# wenquan79


    嗯,是的,你标题的“已解决”也是因为繁体原因,系统没有自动将帖子移动到“已解决问题区”,最好可以改一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-20 07:24 , Processed in 0.077364 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表