一尘不染

检查以确保字符串不包含多个值

algorithm

**注意-我不仅要在字符串的末尾进行测试-需要在字符串中的任何位置找到特定的子字符串

检查字符串以确保不包含多个值的最快方法是什么。我当前的方法效率低下且不合常规:

if string.find('png') ==-1 and sring.find('jpg') ==-1 and string.find('gif') == -1 and string.find('YouTube') == -1:

阅读 207

收藏
2020-07-28

共1个答案

一尘不染

如果仅测试字符串的结尾,请记住str.endswith可以接受一个元组。

>>> "test.png".endswith(('jpg', 'png', 'gif'))
True

除此以外:

>>> import re
>>> re.compile('jpg|png|gif').search('testpng.txt')
<_sre.SRE_Match object at 0xb74a46e8>
>>> re.compile('jpg|png|gif').search('testpg.txt')
2020-07-28