2021-10-14更新:

其实有一个很简单的内置函数,就是rfind,示例如下:

txt = '0123456789'
print(txt.rfind('8')) # 输入结果为8,也就是查找到的位置,如果没有找到,则返回-1

有兴趣可以看下面的示例详情

txt = '89-89-89'
print(len(txt)) # 总长度为 8 序列从1开始

print('===' * 10) # 分割线
print(txt.find('8')) # 结果为0,正序-从左往右查找 输出查找到的位置,如果没有找到,则返回-1  序列从0开始
print(txt.find('9')) # 结果为1,正序-从左往右查找 输出查找到的位置,如果没有找到,则返回-1  序列从0开始
print(txt.find('90')) # 结果为-1,没找到

print('===' * 10) # 分割线
print(txt.rfind('8')) # 结果为6,倒序-从右往左查找 输出查找到的位置,如果没有找到,则返回-1  序列从0开始
print(txt.rfind('9')) # 结果为7,倒序-从右往左查找 输出查找到的位置,如果没有找到,则返回-1  序列从0开始
print(txt.rfind('90')) # 结果为-1,没找到

 

 

这是之前很蠢,没有找到rfind函数,还自己写了一个函数... 

'''
Author: Liang
LastEditors: Liang
Date: 2021-01-24 16:16:44
LastEditTime: 2021-02-24 14:09:44
Email: str-liang@outlook.com
FilePath: /Python_project/平时练习/Python从右向左查找字符串.py
Environment: Win 10 Python 3.9
Description: 使用Python 3.9版本   其中f'' 格式化字符串,是 Python 3.6之后才有的 如果是3.6之前,建议使用 .format方法
'''

# 参数意义:string:在谁那边找,string_find:你要找什么
def right_to_left_find(string,string_find):
    
    print(f'倒序的字符串:{string[::-1]}')
    
    finally_num = string[::-1].find(string_find)
    print(f'倒序之后的第一个出现的位置:{finally_num}')
    
    result = string[len(string)-finally_num:]
    print(f'从右向左查找的结果为:{result}')
    return result


if __name__ == "__main__":
    print(right_to_left_find('今日更新文件.来自王先生.xlsx','.')) # 返回结果:xlsx

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐