(2)字符串查找
.count()
功能:计算指定的字符在字符串里出现的次数有多少 格式:字符串.count(查找字符串[,开始索引[,结束索引]]) 返回值:整数
.find() 功能与index()一样
功能:查找指定的字符在字符串里第一次出现的位置,从左往右查找 格式:字符串.find(查找字符串[,开始索引[,结束索引]]) 返回值:整数 找不到返回-1 (与index的区别:主要功能用于快速查找,不影响程序后续继续执行)
方法find在字符串中查找子串。如果找到,就返回子串的第一个字符的索引,否则返回-1。
>>> 'With a moo-moo here, and a moo-moo there'.find('moo')
7
>>> title = "Monty Python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('Python')
6
>>> title.find('Flying')
15
>>> title.find('Zirquss')
-1
我们在垃圾邮件过滤器中检查主题是否包含'$$$'。这种检查也可使用find来执行。(在Python 2.3之前的版本中,这种做法也管用,但in只能用于检查单个字符是否包含在字符串中。)
>>> Subject = '$$$ Get rich now!!! $$$'
>>> subject.find('$$$')
0
字符串方法find返回的并非布尔值。如果find像这样返回0,就意味着它在索引0处找到了指定的子串。
你还可指定搜索的起点和终点(它们都是可选的)。
>>> subject = '$$$ Get rich now!!! $$$'
>>> subject.find('$$$')
0
>>> subject.find('$$$', 1) # 只指定了起点
20
>>> subject.find('!!!')
16
>>> subject.find('!!!', 0, 16) # 同时指定了起点和终点
-1
请注意,起点和终点值(第二个和第三个参数)指定的搜索范围包含起点,但不包含终点。这是Python惯常的做法。
.rfind()
功能:查找指定的字符在字符串里第一次出现的位置,从右往左查找,但是找到的顺序还是按从左往右计算。 格式:字符串.find(查找字符串[,开始索引[,结束索引]]) 返回值:整数 找不到返回-1 (与index的区别)
.index() 功能与find()一样
功能:查找指定的字符在字符串里第一次出现的位置,从左往右查找 格式:字符串.index(查找字符串[,开始索引[,结束索引]]) 返回值:整数 找不到抛出错误! (与find的区别:如果代码行很多,主要功能可用于精确查找)
.rindex()
功能:查找指定的字符在字符串里第一次出现的位置,从右往左查找,但是找到的顺序还是按从左往右计算。 格式:字符串.index(查找字符串[,开始索引[,结束索引]]) 返回值:整数 找不到抛出错误! (与find的区别)