2014-11-02 2 views
1

Я пытаюсь использовать strip(), чтобы удалить конец некоторого HTML. Идея заключается в том, чтобы в конечном итоге построить это в цикле, но сейчас я просто пытаюсь понять, как сделать эту работу:Строка строки Python

httpKey=("<a href=\"http://www.uaf.edu/academics/degreeprograms/index.html>Degree Programs</a>") 
httpKeyEnd=">" 

#the number in the httpKey that the httpKey end is at 
stripNumber=(httpKey.find(httpKeyEnd)) 
#This is where I am trying to strip the rest of the information that I do not need. 
httpKey.strip(httpKey.find(httpKeyEnd)) 
print (httpKey) 

Конечный результат в том, чтобы печатать httpKey на экран только с:

A HREF = "http://www.uaf.edu/academics/degreeprograms/index.html

+0

Какую цель ставите перед собой? Вы пытаетесь извлечь href? Если это так, ваша жизнь будет значительно облегчена, используя библиотеку разбора HTML, такую ​​как [Beautiful Soup] (http://www.crummy.com/software/BeautifulSoup/). – senshin

+0

Да, это цель. Однако это домашнее задание, над которым я работаю, и могу использовать только строковые операции. – akagent49

+0

Хорошо, следующий вопрос: преднамеренно, что после href нет закрывающейся кавычки или это опечатка? – senshin

ответ

0

В вашем случае это будет работать :

>>> httpKey=("<a href=\"http://www.uaf.edu/academics/degreeprograms/index.html>Degree Programs</a>") 
>>> httpKey[1:httpKey.index('>')] 
'a href="http://www.uaf.edu/academics/degreeprograms/index.html' 
0

find возвращает индекс, где найдена строка (число), и strip удаляют символы от концов строки; он не удаляет «все с этой точки вперед».

Вы хотите использовать строку нарезку вместо:

>>> s = 'hello there: world!' 
>>> s.index(':') 
11 
>>> s[s.index(':')+1:] 
' world!' 

Если вы просто хотите, чтобы выяснить, что ссылка, использовать библиотеку как BeautifulSoup:

>>> from bs4 import BeautifulSoup as bs 
>>> doc = bs('<a href="http://www.uaf.edu/academics/degreeprograms/index.html">Degree Programs</a>') 
>>> for link in doc.find_all('a'): 
...  print(link.get('href')) 
... 
http://www.uaf.edu/academics/degreeprograms/index.html 
+0

Так что все это будет нарезать, мне нужно все до персонажа 63 и ничего после. – akagent49

Смежные вопросы