python中从大字符串里截取小字符串

以一例题说明:分别用了for循环和while循环两种方式

要寻找的大字符串:

在大字符串中依次找链接,如:http://www.tepintehui.com/detail/11411?ce

#coding:utf-8
string=''

for循环:

#定义两个变量:分别表示开始查找的字符串和结束的字符串
#使用find函数查找开始截取的字符串
start_str='http'
s=string.find(start_str)
#找到结束位置的字符
end_str='?ce'
e=string.find(end_str,s,len(string))
count=string.count('http')
for x in range(0,count):
    str = string[s:e + len(end_str)]
    print(str)
    #到最后可以不填end
    # s=string.find(start_str,e+len(end_str),len(string))
    s = string.find(start_str, e + len(end_str))
    e=string.find(end_str,s)
    str=string[s:e+len(end_str)]
while循环:

#定义两个变量:分别表示开始查找的字符串和结束的字符串
start_string='http'
end_string='?ce'
#先找第一个开始位置
start=string.find(start_string)
#只要start不等于-1,说明找到了http
while start!=-1:
    #找结束的位置
    end=string.find(end_string,start)
    #截取字符串 结束位置=结束字符串的开始位置+结束字符串的长度
    sub_str=string[start:end+len(end_string)]
    print(sub_str)
    #找下一个开始的位置
    #如果没有下一个开始的位置,就相当于写了一句start=-1,while循环的条件不成立,结束循环
    start=string.find(start_string,end)


你可能感兴趣的:(python)