Форум сайта python.su
юзаю ф-цию re.findall(r'^http://(*)', value)
а мне все возвращается в формате
Отредактировано (Июнь 13, 2008 12:21:16)
Офлайн
Ты используешь findall т.е. найти все. Соотвественно тебе возвращается список найденного.
В твоем варианте вернулся список из одного элемента - строки в формате uncode.
Офлайн
я понимаю что он мне находит, но как убрать юникод [u' поскольку на сайте это выглядть вот так
Mobil: +41 *****
Email: info@sayt.ch
Web:
Офлайн
re.findall(r'^http://([^/]*)', value)[0]
Офлайн
Daevaorn
Exception Type: IndexError
Exception Value: list index out of range
Офлайн
Выводи на сайт прям юникодную строку.
Exception Type: IndexError
Exception Value: list index out of range
Означает, что ничего не было найдено.
matchs = re.findall(r'^http://([^/]*)', value)
if matchs: #если что-то нашли регуляркой
rezult = matchs[0] #берем перое что нашли
else:
rezult = '' #иначе возвращаем пустую строку
Отредактировано (Июнь 13, 2008 13:57:28)
Офлайн
значит ф-ция изменил на
def hgurl(value):
matchs = re.findall(r'^http://([^/]*)', value)
if matchs:
rezult = matchs[0]
else:
rezult = ''
return rezult
Офлайн
получилось вот так
def hgurl(value):
matchs = re.findall(r'^http://([^/]*)', value)
if matchs:
return matchs[0]
else:
return ''
Офлайн
Это у тебя еще где-то ошибка.
Чтоб проверить, что не здесь, попробуй так:
def hgurl(value):
return 'mail.ru'
Офлайн
shizaмда подсветка кода супер
'mail.ru'
Отредактировано (Июнь 13, 2008 14:31:01)
Офлайн