Перейти к содержимому

Фотография

Как очистить текст от лишнего текста с обеих сторон от искомого текста

C#

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Selen34

Selen34

    Новый участник

  • Members
  • Pip
  • 41 сообщений

Отправлено 04 декабря 2016 - 19:50

Используется С#

С сайта парсится текст, имеющий несколько вариантов:

Вар 1

FG654HGFH=FGJ6DJ131HDFHSFSGRv=http://site1.ru/jfd6...4DDFm=&cid=1065

 

или Вар 2

dfg6546sdgs=dgd646ttrdhx32gfh=http://site2.com/nhg...4sdgs654DDFm=%2

 

или Вар 3

dfh6565jrtu=u63mb2,1CjyttmKYU=http://site3.net/nsd...io98ofp64utrury

 

Особые условия:

       - домен site(1,2,3, …) - принят условно. Имя домена не имеет какой-либо тенденции и всегда разное;

       - http://, может быть и https://

 

ВОПРОС.

Как очистить текст, чтобы осталось, к примеру для http://site1.ru:

       - http://site1.ru

  или

      - site1.ru

 или

      - Site1

при этом не привязываясь к имени домена, т.к. имена доменов не известны.

 


  • 0

#2 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 05 декабря 2016 - 07:31

Можно работать с методами класса String https://msdn.microso...(v=vs.110).aspx

1. Проверяем с помощью IndexOf(String), какой протокол используется, http:// или https://, и получаем позицию начала строки

2. Отсчитываем нужное смещение относительно начала (7 или 8 символов),  и с помощью IndexOf(Char, Int) находим положение следующего символа '/'

3. Высчитываем длину получившейся строки и с помощью метода Substring(Int, Int) получаем нужную подстроку.


  • 1

#3 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 05 декабря 2016 - 08:23

Регулярки надо использовать:

(http|https):\/\/(.*?)\/

Т.е. строка начинается на http или https, далее двоеточие и две // потом любое количество символов и ждем /


  • 2



Темы с аналогичным тегами C#

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных