📅  最后修改于: 2023-12-03 15:40:23.711000             🧑  作者: Mango
在编程中,我们经常需要查找字符串中某个字符的位置。如果我们需要查找的字符出现了多次,通常会返回第一个出现的位置。但是有时候我们需要查找最后一个出现的位置,这就需要用到查找字符串字符的最后一个索引。
Python中的字符串类型提供了一个rfind()函数,可以查找指定字符在字符串中最后一次出现的位置。如果找到了,则返回其索引;如果没有找到,则返回-1。
代码实现:
str1 = 'hello world'
ch = 'o'
last_index = str1.rfind(ch)
if last_index != -1:
print(f'{ch}最后一次出现的位置是:{last_index}')
else:
print(f'{ch}未出现在字符串中')
输出结果:
o最后一次出现的位置是:7
另一种方法是使用Python的re库中的findall()函数,该函数可以返回字符串中所有匹配的内容。我们可以使用正则表达式来匹配需要查找的字符,然后返回最后一个匹配的索引。
代码实现:
import re
str1 = 'hello world'
ch = 'o'
pattern = f'{ch}'
matches = re.findall(pattern, str1)
if len(matches) > 0:
last_index = [m.start() for m in re.finditer(pattern, str1)][-1]
print(f'{ch}最后一次出现的位置是:{last_index}')
else:
print(f'{ch}未出现在字符串中')
输出结果:
o最后一次出现的位置是:7