powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по работе со строками
18 сообщений из 18, страница 1 из 1
Вопрос по работе со строками
    #36958097
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые форумчане, сегодня столкнулся с проблемой, необходимо написать простенькую программу, суть которой заключается в сравнении строк, но вот в чем загвоздка: мне нужно сравнивать строки не по принципу = или <>, а по принципу того, что сравниваемая строка содержит исходную строку, то есть:
Исходная строка - http://www.sql.ru/
Строки, с которыми сравниваем -
http://www.sql.ru/forum/actualpost.aspx?bid=22
http://www.sql.ru/forum/actualpost.aspx?bid=23
http://www.sql.ru/forum/actualpost.aspx?bid=24
http://www.google.com.ua/

Мне нужно проверить содержат ли строки исходную строку, если да, то удалить их.
Вот и вся программа, но проблема в том, что я просто не знаю как проверить "содержит" или нет.
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958103
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
функция instr()
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958156
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR, функция Like
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958167
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InStr быстрее.
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958190
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор же просил не по не по принципу = или <>
Вот и будет ему Труе и Фальше
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958202
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем отписавшимся. Все работает, сейчас перепишу только свою программу с учетом данной функции, а то до этого мне приходилось приводить все сайты, с которыми я сравниваю основную базу к виду site.ru, даже прогу мне написали для этого.
Кстати, хотел поинтересоваться, может кто подскажет: мне на Delphi написали программу, которая преобразовывает урлы типа _http://www.sql.ru/forum/actualpost.aspx?bid=22&tid=806238&mid=0&p=1 в _http://www.sql.ru, вот сижу ломаю голову как этого добиться. Забить все доменные зоны в программу и искать по маске, к примеру, .ru и удалять все, что справа или может как-нибудь по другому можно этого добиться?
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958207
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR, помоему всё что слева от третьего слеша
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958214
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что у того кто на дельфях написал
http://www.sql.ru/forum/actualpost.aspx?bid=22&tid=806238&mid=0&p=1
http://www.sql.ru
посмотреть\спросить никак???
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958221
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в том то и дело, что нет, так как урлы можно подставлять и без _http://
Хотя можно проверять есть ли _http:// в строке и выбирать после какого слеша чистить, если есть, то после третьего, если нет, то после первого.
Но так как я новичек в ВБА, то мне пока порой сложно определиться насколько оптимален путь решения данной задачи.
А скорость имеет большое значение, так как к обработке у меня частенько десятки тысяч урлов, а иногда и больше.
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958226
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR,
>десятки тысяч урлов, а иногда и больше
то есть сотни тысяч урлов?????????
С ума сойти по мне так хоть как решать всё долго
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958272
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMRв том то и дело, что нет, так как урлы можно подставлять и без _http://
Хотя можно проверять есть ли _http:// в строке и выбирать после какого слеша чистить, если есть, то после третьего, если нет, то после первого.
Но так как я новичек в ВБА, то мне пока порой сложно определиться насколько оптимален путь решения данной задачи.
А скорость имеет большое значение, так как к обработке у меня частенько десятки тысяч урлов, а иногда и больше.
если начало строки - _http:// (см. функцию Left) то искать InStr начиная не с первого символа, а с девятого и до первого слеша или конца строки
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958569
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюSEOMR, помоему всё что слева от третьего слеша
Я бы делал так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function getHost(ByVal url As String) As String
Dim pos As Integer
url = Replace(url, "http://", "")
pos = InStr(url, "/")
If pos >  0  Then
    getHost = Mid(url,  1 , pos -  1 )
Else
    getHost = url
End If
End Function
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36958570
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить после этого
Код: plaintext
1.
url = Replace(url, "http://", "")
вот это
Код: plaintext
1.
url = Replace(url, "https://", "")
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36959480
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR
можно вырезать имя самого домейна через регулярное выражение
будет достаточно быстро
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36959782
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.Михаил.Забыл добавить после этого
Код: plaintext
1.
url = Replace(url, "http://", "")
вот это
Код: plaintext
1.
url = Replace(url, "https://", "")


Спасибо за совет, но мне не нужно убирать из урла http://.
Я уже написал код с использованием InStr и Mid, который отлично работает.
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36960272
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR

а если ссылка у тебя начинается на https://
или на ftp://

может такое быть или нет ?
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36960517
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделаю проверку на наличие http://, https://, а фтп-шников у меня не будет.
...
Рейтинг: 0 / 0
Вопрос по работе со строками
    #36960662
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMRСделаю проверку на наличие http://, https://, а фтп-шников у меня не будет.Ты лучше сделай проверку на наличие "://" и то что слева - протокол, то что справа - адрес.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по работе со строками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]