str.index()与str.find()比较

本文介绍了在Python中从带有特定标签的字符串中提取内容的两种方法:使用str.index()和str.find()。str.index()会在找不到子字符串时抛出异常,而str.find()则会返回-1。通过实例演示了如何定位并提取标签之间的内容。
 1 def extract_from_tag(tag,line):
 2     opener = "<" + tag + ">"
 3     closer = "</" + tag + ">"
 4     try:
 5         i = line.index(opener)# i = 7
 6         start = i + len(opener) # start = 7 + 5 =12
 7         j = line.index(closer,start) #j =16
 8         return line[start:j] # retrun line[12:16]
 9     except ValueError:
10         return None
11 a = extract_from_tag("red","what a <red>reosedf</red> this is")
12 print(a)
13 print(len(a))
str.index()
 1 def extract_from_tag(tag,line):
 2     opener = "<" + tag + ">"
 3     closer = "</" + tag + ">"
 4     i = line.find(opener) # i = 7
 5     if i != -1:
 6         start = i + len(opener) #start = 7+5=12
 7         j = line.find(closer,start) # j = 19
 8         if j !=-1:
 9             return line[start:j]  #line[12:19]
10     return None
11 a = extract_from_tag("red","what a <red>rose</red> this is")
12 print(a)
str.find()

 如果需要在某个字符串中找到另一个字符串所在的位置,有两种方法:

  1. 使用str.index()方法。该方法返回子字符串的索引位置,或者在失败时产生一个ValueError异常
  2. 使用str.find()方法。该方法返回子字符串的索引位置,或者在失败时返回-1

这两种方法都要把寻找的字符串作为第一个参数,还可以有两个可选的参数。其中第二个参数是待搜索的字符串的起始位置,第三个则是其终点位置

转载于:https://www.cnblogs.com/lmgsanm/p/8331151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值