找回密码
 加入
搜索
查看: 1521|回复: 3

[AU3基础] 根据字符数提取文本文件的对应行。

[复制链接]
发表于 2010-8-20 16:38:30 | 显示全部楼层 |阅读模式
某个文本文件ex.txt,大概三万多行,
如果此行有8个字符(注:英文字符),就把它提取出来,另存或把不符合条件的行删除。
发表于 2010-8-20 16:54:41 | 显示全部楼层
$file = FileRead("bt.txt")
$line = StringRegExp($file,"[A-Za-z]{8}",3)
MsgBox(0,"",UBound($line))
For $i = 1 To UBound($line)- 1
FileWrite("tb.txt",$line[$i]&@CRLF)
Next
读取文本为bt.txt
符合条件的行写入到tb.txt
只匹配8位大小写英文
请做好备份

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2010-8-20 16:59:19 | 显示全部楼层
本帖最后由 水木子 于 2010-8-20 17:11 编辑

是有8个英文字符,还是只有8个英文字符??

1A2B3C4d5e6F7G8H  这个字符串也含有8个英文字符,不知道楼主是问的哪种情况。


这个是 只有8个英文字符的情况
Local $sResult

$sText = 'asdasd0434' & @CRLF & _
                'asdsad' & @CRLF & _
                'asdioeiroiefjdsf' & @CRLF & _
                'sdjasd' & @CRLF & _
                'djskfjdkfgkjg' & @CRLF & _
                'd09' & @CRLF & _
                'adskfjki' & @CRLF & _
                'asdjalskdjlk' & @CRLF & _
                'asdkdjkf' & @CRLF & _
                'asdkjsadkjlkasjdl'
                
$aReg = StringRegExp(@CRLF & $sText, '(?i)\n([a-z]{8})\r', 3)

For $i = 0 To UBound($aReg) - 1
        $sResult &= $aReg[$i] & @CRLF
Next
MsgBox(0, '8个英文字符', $sResult)

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-8-22 00:16:11 | 显示全部楼层
呵呵,都是正则强人啊。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 07:30 , Processed in 0.080922 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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