Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 8, 2014 16:59:11

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

/ в начале строки

>>> line='//.www.google.ru/'
>>> line.strip('/')
'.www.google.ru'
Есть также .rstrip() и .lstrip().
>>> line='//.www.google.ru/'
>>> line.replace('//','')
'.www.google.ru/'
Но вообще, почему бы не организовать работу с url через модуль urllib?

Отредактировано vanvanov (Ноя. 8, 2014 17:08:51)

Офлайн

#2 Ноя. 18, 2014 17:02:57

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

/ в начале строки

А если

url="http://www.python.su//forum/"
Как здесь “/” убрать не задев ?
"://"

Отредактировано Egor2010 (Ноя. 18, 2014 17:03:15)

Офлайн

#3 Ноя. 19, 2014 08:45:36

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

/ в начале строки

url = "http://www.python.su//forum/"
url = url.replace('://', ':\\\\').replace('//', '/').replace(':\\\\', '://')

Офлайн

#4 Ноя. 19, 2014 10:23:31

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

/ в начале строки

>>> url = "http://www.python.su//forum//////////lalala//"
>>> url = url.replace('://', ':\\\\').replace('//', '/').replace(':\\\\', '://')
>>> url
'http://www.python.su/forum/////lalala/'
он вырезает только половину!

Офлайн

#5 Ноя. 19, 2014 11:04:37

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

/ в начале строки

import re
url = re.sub(r'(?<!:)/{2,}', '/', url)

Офлайн

#6 Ноя. 20, 2014 12:03:04

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

/ в начале строки

А без re можно?
Если

url = url.replace('://', ':\\\\').replace('//', '/').replace(':\\\\', '://')
поставить в цикл?

Офлайн

#7 Ноя. 20, 2014 13:41:42

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

/ в начале строки

как скажете)

url = "http://www.python.su//forum//////////lalala//"
url = url.replace('://', ':\\\\')
while url.find('//') != -1:
    url = url.replace('//', '/')
url = url.replace(':\\\\', '://')

Офлайн

#8 Ноя. 20, 2014 13:44:52

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

/ в начале строки

А вы других решений не предложите?
Кроме re,и цикла

Офлайн

#9 Ноя. 20, 2014 14:44:56

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

/ в начале строки

Я не пойму что вам нужно. re вас не устраивает… Перебирайте полностью строку чтоли

url = "http://www.python.su//forum//////////lalala//"
newurl = ''
for n, i in enumerate(url):
    if n > 1 and i == '/' and url[n-1] == '/' and url[n-2:n] != ':/':
        continue
    newurl += i
print newurl

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version