Что нового

Помогите разбить текст на массивы

shyra1976

Новичок
Сообщения
71
Репутация
0
Помогите разбить текст на массивы
есть файл с таблицами как можно разбить файл чтобы каждая таблица была в массиве

Код:
#include <Date.au3>
#include <ScreenCapture.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>



$folder = FileOpenDialog('Add File', @DesktopDir, 'All Files (*.txt)', 0)
;GUICtrlSetData($Input2, $folder)

$hFile = FileOpen($folder, 0)
$text = FileRead($hFile)
FileClose($hFile)

If $hFile = -1 Then
    MsgBox(4096, "??????", "?????????? ??????? ????.")
    Exit
 EndIf

 ConsoleWrite($text)
;~ $sPatern = '(?si)Ring On(.+?)3Sigma'
;~ $aRezFull = StringRegExp($text, $sPatern, 3)
;~ _ArrayDisplay($aRezClear)
;$ret = StringRegExp($text, '(?s)Ring"">(.*?)Ring', 3)
;$sPattern = 'Ring(.+?)Ring'


;ConsoleWrite($ret)
; _ArrayDisplay($ret)
 

Вложения

  • Ring_Position_Drift_MeasurementDec 10 19-27-01.txt
    124.9 КБ · Просмотры: 15

ivanius

Знающий
Сообщения
74
Репутация
5
Лови паттерн для таблицы дальше думаю сам разберешься, каждое значение в своей группе т.е. он найтед всю строку таблицы, а дальше просто циклом записываешь SubMatches в массив.
Код:
(\d{1,2}).+?([\d\.-]{3,9}).+?([\d\.-]{3,9}).+?([\d\.-]{3,9}).+?([\d.-]{3,9}).+?([\d\.-]{3,9}).+?([\d\.-]{3,9}).+?([\d\.-\W]{3,9}).+?([\d\/]{3,9}).+?([\d:]{3,9})
написал за пару минут на быструю руку - проверяй и заходи сюда http://www.regexr.com/ там сразу напишешь, проверишь и т.д.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
OffTopic:
похоже, что появился двойник max1300 - ivanius
тоже профессиональный программист без школьного курса
 
Автор
S

shyra1976

Новичок
Сообщения
71
Репутация
0
Странно , на всех симуляторах регулярных выражении работает А у меня толку первые два условия работают и все.
это работает только число 2047.389 не видеть
(\d{1,9}).+?([\d\.-]{1,9}).+?([\d\.-]{3,9}).+?([\d.-]{3,9}).+?([\d\.-]{3,9}).+?
 

ivanius

Знающий
Сообщения
74
Репутация
5
Давай разберем, если тебе еще нужно вот этот регексп для примера, а дальше будем смотреть понимаешь ты или нет.
Код:
([\d\.-]{1,9}).+?
()-скобки обьединяют часть pattern`a т.е. ты сможешь найти часть найденного
[] - квадратные скобки поиск группы символов
\d - только число
\. - только точка
"-" - тире
{} - количество найденного
. - любой символ
+ - количество найденного от 1 и более
? - количество найденного 0 или 1
Другими словами у нас получается группа pattern`a чисел, точки или тире в количестве от 1 до 9 (включительно) после чего может идти любое количество символов.
Рекомендую прочитать статью на Википедии там все отлично написано, по крайней мере именно она помогла понять мне что это и с чем его едят, а для првоерки написанного заходи на сайты Regexp Test подобные.
Если будут вопросы - пиши
 
Автор
S

shyra1976

Новичок
Сообщения
71
Репутация
0
Потихоньку разбираюсь
С новым годом вас .всем здоровья И сил - нам болбесам помогать.
 
Верх