练习--字符的截取(老师给的字符串,截取链接)

获取老师给的字符串中的链接:

1.先引入字符串

# coding=utf-8
string = '<div class="item-list ni-list"><ul><li  class="first"><a href="http://www.tepintehui.com/detail/57185?ce" title="明星同款| 钟基欧巴穿的小脏鞋5折辣!" ><span>明星同款| 钟基欧巴穿的小脏鞋5折辣!</span></a></li><li><a href="http://www.tepintehui.com/detail/56847?ce" title="装逼| 你们见过凌晨四点钟的洛杉矶吗?" ><span>装逼| 你们见过凌晨四点钟的洛杉矶吗?</span></a></li><li  ><a href="http://www.tepintehui.com/detail/57127?ce" title="反人类| 世界上最干净的纸竟然是黄色的!" ><span>反人类| 世界上最干净的纸竟然是黄色的</span></a></li><li><a href="http://www.tepintehui.com/detail/57120?ce" title="科普| 吃了避孕药之后怀的孩子能要吗?" ><span>科普| 吃了避孕药之后怀的孩子能要吗?</span></a></li><li><a href="http://www.tepintehui.com/detail/57125?ce" title="真假| 9年义务升为12年制,是要取消高考吗" ><span>真假| 9年义务升为12年制,是要取消高考吗</span></a></li><li><a href="http://www.tepintehui.com/detail/57124?ce" title="土豪| 揭秘迪士尼见不得光的33号俱乐部" ><span>土豪| 揭秘迪士尼见不得光的33号俱乐部</span></a></li><li  ><a href="http://www.tepintehui.com/detail/41008?ce" title="吐槽| 男人单身太久会没感觉?" ><span>吐槽| 男人单身太久会没感觉?</span></a></li><li  ><a href="http://www.tepintehui.com/detail/23488?ce" title="冷知识| 为什么镜子是左右颠倒不是上下呢" ><span>冷知识| 为什么镜子是左右颠倒不是上下呢</span></a></li><li  ><a href="http://www.tepintehui.com/detail/37213?ce" title="新玩法| 这年头情侣之间种草莓已经out了!" ><span>新玩法| 这年头情侣之间种草莓已经out了!</span></a></li><li  ><a href="http://www.tepintehui.com/detail/11411?ce" title="四壁| 老美说凤姐把范冰冰秒成渣,你怎么看" ><span>四壁| 老美说凤姐把范冰冰秒成渣,你怎么看</span></a></li><li  ><a href="http://www.tepintehui.com/detail/37456?ce" title="凭什么| 个人挖墓是盗墓,国家挖是考古?" ><span>凭什么| 个人挖墓是盗墓,国家挖是考古?</span></a></li><li  ><a href="http://www.tepintehui.com/detail/40706?ce" title="福利| 要知道加这个群这么爽!我早进了" ><span>福利| 要知道加这个群这么爽!我早进了</span></a></li></ul></div>'
# 定义两个变量:分别表示开始的字符串、结束的字符串
start_string = 'http'
end_string = '?ce'
查找第一个链接:使用find()函数

# 使用find函数查找开始截取的位置
start = string.find('http')
print(start)
# 找到结束截取的位置
end = string.find('?ce')
print(end)
# 找到了第一个
sub_str = string[start:end+len('?ce')]
print(sub_str)
查找第二个链接:第一个链接结束的位置,是第二个链接开始的位置
#找到第二个 开始位置
sec_start = string.find('http', end)
print(sec_start)
#  找到第二个结束位置
sec_end = string.find('?ce', sec_start)
print(sec_end)
# 截取第二个字符串
sec_str = string[sec_start:sec_end+len('?ce')]
print(sec_str)
查找第三个链接:第二个链接结束的位置,是第三个链接开始的位置
# 找到第三个位置,开始截取的位置
three_start = string.find('http', sec_end)
# 找到第三个  结束截取位置
three_end = string.find('?ce', three_start)
# 截取第三个字符串
three_str = string[three_start:three_end+len('?ce')]
print(three_str)
以上代码可以用一个while循环完成(不知道要循环多少次,所有用while而不用for循环)

# 先找第一个开始的位置,如果没有找到  返回的是-1
start = string.find(start_string)
# 只要start不等于-1,说明找到了http
# 不知道循环多少次,所有用while不用for
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)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值