Что нового

[RegExp] Получить ID и имя

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
Помогите распарсить файл.
Должен получиться двухмерный массив вида:

ID | name

Но я в регулярках не силен, а поиск по такой схеме не работает:
Код:
#include <Array.au3>
Local $temp

$hFile = FileOpen(@ScriptDir & '\temp.txt', 0)
If @error Then MsgBox(0, '', '')

;371027

$sChars = FileRead($hFile)


For $i = 0 To 371027
	$typeid = StringRegExp($sChars, '' & $i & ':(.*?)'&$i+1, 3)

	If Not @error Then
		_ArrayDisplay($typeid, $i)

	EndIf
Next
 

Вложения

  • temp.txt
    98.5 КБ · Просмотры: 5

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
а что является name и ID .
пример?
 
Автор
M

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
будут значения
9413|280mm Carbine Howitzer I
9415|280mm Gallium Cannon
9417|280mm Prototype Siege Cannon
9419|720mm 'Probe' Artillery I
9421|720mm Cordite Howitzer I

и т.д. Файл на самом деле оч. большой около 70мб. 1 300 000 строчек.
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
#include 'array.au3'
$file=FileRead(@ScriptDir&'\temp.txt')
$str=StringRegExp($file,'(?ms)^(\d+):.*?name:[^:]+de:([^\r\n]+)',3)
_ArrayDisplay($str)
 
Автор
M

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
то что надо, спасибо!))
Ни как не могу освоить эти регулярки:-(
 
Верх