Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Regex, найти несколько значений и сохранить в txt (http://forum.oszone.net/showthread.php?t=342326)

hirurgrrr 25-09-2019 09:15 2889488

Regex, найти несколько значений и сохранить в txt
 
Здраствуйте.
Помогите переделать VBS скрипт так чтоб он искал не одно а несколько значений и все вместе сохранил в одну строку.

Код:

Set fso = CreateObject("Scripting.FileSystemObject")
Set f=fso.opentextfile("0.txt",1)
a = f.ReadAll

Set r = New RegExp
r.Global = True
r.Multiline = True
r.IgnoreCase = True

r.Pattern = "(symbol.+?)(symbol.*?)"
r.Pattern = "(symbol.+?)(symbol.*?)"

Set f = fso.CreateTextFile("1.txt", 2)
For Each m In r.Execute(a)
f.WriteLine m.SubMatches(0)
Next
f.Close

Спасибо.

Iska 25-09-2019 17:24 2889562

hirurgrrr, начните с рассказа, что он у Вас сейчас делает.

hirurgrrr 25-09-2019 17:46 2889564

Есть txt документ 10 мб,скрипт ищет и сохраняет.

кусок текста
"BMW","model-x5","price-15000","quantity-4"

r.Pattern = "(BMW.+?)(quantity.*?)"

greg zakharov 25-09-2019 19:57 2889573

hirurgrrr, десятиметровый файл это уже серьезный аргумент не в пользу WSH, а судя по куску текста - это CSV файл, где в качестве разделителя выступает запятая. Проще (быстрее, надежнее, сексуальнее - нужное подчеркнуть) воспользоваться SQLite: во временную таблицу импортировать CSV и посредством несложного SQL запроса сформировать итоговый файл с последующей выгрузкой. Скорость работы в таком подходе очень высока. Можно также посмотреть в сторону других языков с поддержкой параллелизма.

Iska 25-09-2019 20:44 2889579

По поводу доступа к данному текстовому файлу как к базе данных, соглашусь с коллегой greg zakharov. А по поводу SQLite — это уже на любителя.

Цитата:

Цитата hirurgrrr
Есть txt документ 10 мб »

Упаковывайте его в архив и выкладывайте.

Цитата:

Цитата hirurgrrr
,скрипт ищет »

Что он ищет сейчас, и что он должен будет искать?


Время: 23:25.

Время: 23:25.
© OSzone.net 2001-