Войти

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


hirurgrrr
25-09-2019, 09:15
Здраствуйте.
Помогите переделать 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
hirurgrrr, начните с рассказа, что он у Вас сейчас делает.

hirurgrrr
25-09-2019, 17:46
Есть txt документ 10 мб,скрипт ищет и сохраняет.

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

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

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

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

Есть txt документ 10 мб »
Упаковывайте его в архив и выкладывайте.

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




© OSzone.net 2001-2012