根据字符数提取文本文件的对应行。
某个文本文件ex.txt,大概三万多行,如果此行有8个字符(注:英文字符),就把它提取出来,另存或把不符合条件的行删除。 $file = FileRead("bt.txt")
$line = StringRegExp($file,"{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位大小写英文
请做好备份 本帖最后由 水木子 于 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({8})\r', 3)
For $i = 0 To UBound($aReg) - 1
$sResult &= $aReg[$i] & @CRLF
Next
MsgBox(0, '8个英文字符', $sResult) 呵呵,都是正则强人啊。。
页:
[1]