Что нового

[Данные, строки] Обработка текстового файла со ссылками.

Math

Новичок
Сообщения
85
Репутация
1
Версия AutoIT: 3.3.6.1

Описание:
Есть текстовый файл со ссылками такого вида:
http://www.site1.ru/page1/
http://www.site2.ru/page1/


!!! http://www.site2.ru/page1/page6/link.html
***
http://www.site2.ru/
1 http://www.site2.ru/
Work:
2 http://www.site3.ru/ (Site 3 work)

3 http://www.site4.ru/
4 http://site4.ru/
www.site5.com

Нужно:
1. Удалить все повторяющиеся сайты.
2. Удалить весь мусор (цифры перед названиями, записи в скобках, пустые абзацы)
3. Оставить только ссылку на сайт (т.е. убрать все символы после /)

Т.е. должно получиться так:
http://www.site1.ru/
http://www.site2.ru/
http://www.site3.ru/
http://www.site4.ru/
www.site5.com
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
625
Math
в стол заказов?
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,584
Репутация
338
Код:
#Include <Array.au3>

$File = FileOpenDialog("Открыть...", @MyDocumentsDir, "Text Files (*.txt)|All Files (*.*)", 1 + 3 )
If @error Then Exit
	
$Text = FileRead($File)

$a = StringRegExp($Text,".*(http://w{0,3}\.?[a-Я,0-9]+\.[a-z,рф]+/?)",3)

;_ArrayDisplay($a)

For $i = 0 to Ubound($a) - 1
	$a[$i] = StringReplace($a[$i],"http://","")
	$a[$i] = StringReplace($a[$i],"www.","")
	$a[$i] = StringReplace($a[$i],"/","")
Next

$newA = _ArrayUnique($a)
$hOpen = FileOpen("1.txt",2)
For $i = 1 to $newA[0]
	$newA[$i] = "http://www."& $newA[$i] & "/"
	FileWriteLine($hOpen,$newA[$i])
Next

;_ArrayDisplay($newA)


Вот решение. Раз это в стол заказов, то оформите как требуется. А мы перенесем.
 
Автор
M

Math

Новичок
Сообщения
85
Репутация
1
Спасибо. Это мне и было нужно.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
625
Math
перенес в первый и последний раз. никто не обязан ходить за тобой и переносить созданные тобой темы. логика простая. есть наработки, есть результат и желание поделиться? – в полезняшки. есть наработки, есть результат, нет желания поделиться? – в покупку и продажу услуг. есть наработки, но нет результата, зато есть затык? – в раздел для новичков. нет наработок, как следствие нет результата, но есть огромное желание его получить? – стол заказов. нет наработок, нет результата, есть желание результат получить, но нет желающих помочь бесплатно? – опять же в покупку и продажу услуг, но с противоположной просьбой. нет наработок, нет результата, нет желания его получить, но есть желание поболтать? – добро пожаловать в раздел для общения. ну и на последок, что-то есть, чего-то нет, но вдобавок есть острое нежелание выполнять правила форума, то тут дорога одна – самая лучшая в мире тема
 
Верх