第三版“如何像计算机科学家一样思考:学习Python 3”这本书的第4.21节有一个练习
假设任何文本行最多只能包含一个以“ http://”开头并在该行的下一个空格处结束的URL。编写一段代码以提取并打印完整的URL(如果存在)。 (提示:阅读find的文档。它需要一些额外的参数,因此您可以设置从其开始搜索的起点。)
这是我编写的代码,它可以工作..但是我不认为它确实使用了作者要求使用的“额外参数”。查看here中的查找文档,我无法理解如何使用它。有人可以为我提供此练习的正确代码吗?
def findurl(url):
op_findex = url.find("//")
op_lindex = url.rfind(" ")
return url[op_findex+2:op_lindex]
print(findurl("http://example.com/site "))
答案 0 :(得分:1)
错误是您在字符串中找到了最后一个空格,而不是URL开头之后的第一个空格。
test = "Hello, visit http://google.com or http://stackoverflow.com for great fun"
start = test.find("http://")
end = test.find(" ", start)
print(test[start:end])
您还将注意到http:
是提取的URL的必要和有用的部分。