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

2018-12-18  本文已影响28人  惑也

问题

通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,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
上一篇下一篇

猜你喜欢

热点阅读