Войти

Показать полную графическую версию : Поиск текста в txt


Centrinar
23-07-2010, 15:50
Помогите решить проблемму. Нужно сделать поиск в файле, но там где знаки вопроса и x - это меняющийся текст, т.е. каждый раз новое значение, а мне как раз нужно чтобы он читал что написано вместо xxx... причем там может быть как текст так и числа
"<a class="genmed" href="viewtopic.php?t=???????">xxxxxxxxxxxxxxxx</a></h2></td>"

Creat0R
23-07-2010, 16:08
Примерно так:

$sRead = FileRead("file.txt")
StringRegExpReplace($sRead, '<a class="genmed" href="viewtopic.php?t=.*?">(.*?)</a></h2></td>', '\1')

Centrinar
23-07-2010, 17:54
#include <Array.au3>
Local $sFilePath = @ScriptDir & '\test.txt'
Local $sFileText = @CRLF & FileRead($sFilePath) & @CRLF
Local $aPattern = String('/var></a>(.*?)<br /></span></td>')
Local $aResult = StringRegExp($sFileText, $aPattern, 3)
_ArrayDisplay($aResult, 'Результат ')

Вот так получилось, ток теперь не могу вытащить данные, может можете сделать данную таблицу ввиде списка с чекбоксами. СПАСИБО

Creat0R
23-07-2010, 19:14
теперь не могу вытащить данные »
В чём проблема? в справке вроде написано как работать с массивами.

Centrinar
23-07-2010, 19:17
Как всегда в русской справке мало инфы а с английским я на Вы... Првидите пожалуйста пример, на нем буду разбираться...

Creat0R
23-07-2010, 19:59
с английским я на Вы »
Для программирования это не есть гуд!

Првидите пожалуйста пример »
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <Array.au3>

Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $sFilePath = @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\test.txt'
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $sFileText = @CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf) & FileRead (http://www.autoitscript.com/autoit3/docs/functions/FileRead.htm)($sFilePath) & @CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf)
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $aPattern = String (http://www.autoitscript.com/autoit3/docs/functions/String.htm)('/var></a>(.*?)<br /></td>'</span>)
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $aResult = StringRegExp (http://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm)($sFileText, $aPattern, 3)

For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 0 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) UBound (http://www.autoitscript.com/autoit3/docs/functions/UBound.htm)($aResult)-1
$aResult[$i] ;$i тут это номер элемента в массиве, чтобы его прочитать, мы просто задаём его как $aResult[$i]
ConsoleWrite (http://www.autoitscript.com/autoit3/docs/functions/ConsoleWrite.htm)($aResult[$i] & @LF (http://www.autoitscript.com/autoit3/docs/macros.htm#@lf))
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)




© OSzone.net 2001-2012