找回密码
 加入
搜索
查看: 1802|回复: 7

[AU3基础] 可不可以获取 字符 在文本里的行数

[复制链接]
发表于 2011-5-14 09:15:19 | 显示全部楼层 |阅读模式
我想获取 字符在文本里的行数位置, 然后获得整行数据。

文本比较大 如果一行一行判断 速度太慢了。 。。

谢谢
发表于 2011-5-14 09:35:16 | 显示全部楼层
本帖最后由 netegg 于 2011-5-14 09:44 编辑

有多大,如果不是太大的话
#include<file.au3>
#include<array.au3>
local $aA, $wholeline
_filereadtoarray($file, $aA)
local $aInclude = _arrayfindall($aA, $text, 0,0,0,1)
;_arraaydisplay($include, ' ')
for $i = 1 to $aInclude[0]
  $wholeline &= & @cr &  $aA[$aInclude[$i]] 
next
msgbox(0,0, $wholeline)
 楼主| 发表于 2011-5-14 09:40:08 | 显示全部楼层
谢谢 刚才群里一位朋友 提示判断回车数量的
 楼主| 发表于 2011-5-14 09:40:47 | 显示全部楼层
版主锁吧   解决了~!
 楼主| 发表于 2011-5-14 09:41:08 | 显示全部楼层
谢谢 netegg
 楼主| 发表于 2011-5-14 09:42:30 | 显示全部楼层
文本8M  20W行
发表于 2011-5-14 09:44:51 | 显示全部楼层
回复 6# xndo
那最好用正则
发表于 2011-5-14 10:01:20 | 显示全部楼层
本帖最后由 水木子 于 2011-5-14 10:12 编辑

111111111111111
222222222222222
333333333333333
444444444444444
555555555555555
666666666666666
777777777777777
888888888888888
测试文本9999999
100000000000000
110000000000000
120000000000000

测试文本:
不过 文本8M  20W行 如此庞大的文本中,应该有重复的文本内容,这个还需要进一步处理。

$sText = FileRead('Text.txt')
$sTest = '测试文本' ;需要搜索的文本
$aRe1 = StringRegExp($sText, '(?s).*' & $sTest, 3)
If IsArray($aRe1) Then
        $aRe2 = StringRegExp($aRe1[0], @CRLF, 3)
        MsgBox(0, '', '搜索的文本在地 ' & UBound($aRe2) + 1 & ' 行')
EndIf
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:44 , Processed in 0.072828 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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