Python3 - 字符串开头或结尾匹配

问题

通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URL Scheme等等。

解决方案

检查字符串开头或结尾的一个简单方法是使用 str.startswith() 或者是 str.endswith() 方法。比如:

file_name = 'test.txt'
print(file_name.endswith('.txt'))
True

url = 'www.google.com'
print(url.startswith('www.'))
True

如果想检查多种匹配可能,需要将所有的匹配项放入到一个元组中, 传给 startswith() 或者 endswith() 方法:

file_up = os.listdir(os.chdir('../'))
f_name = [f for f in file_up if f.endswith(('__', '.py'))]
print(file_up)
print(f_name)

['.DS_Store', 'decorator', 'module', 'cookbook', '__pycache__', 'test.py', 'class']
['__pycache__', 'test.py']

startswith() 和 endswith() 方法提供了一个非常方便的方式去做字符串开头和结尾的检查。 类似的操作也可以使用切片来实现,但是代码看起来没有那么优雅。比如:

print(file_name[4:] == '.txt')
print(url[:4] == 'www.')

True
True
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容