Что нового

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

mr.Gbabak

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

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
 

Вложения

  • 98,5 КБ Просмотры: 5

joiner

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

mr.Gbabak

Осваивающий
Сообщения
247
Репутация
21
будут значения
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 Гуру
Сообщения
981
Репутация
391
Код:
#include 'array.au3'
$file=FileRead(@ScriptDir&'\temp.txt')
$str=StringRegExp($file,'(?ms)^(\d+):.*?name:[^:]+de:([^\r\n]+)',3)
_ArrayDisplay($str)
 
Автор
M

mr.Gbabak

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