码迷,mamicode.com
首页 > 其他好文 > 详细

在字符串的开头或结尾处做文本匹配

时间:2020-07-20 15:34:29      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:listdir   问题   字符   star   模式   art   协议类型   元组   协议   

问题:

我们需要在字符串的开头或结尾处按照指定的文本模式做检查,例如检查文件的扩展名、URL协议类型等。

 

解决方案:

有一种简单的方法可用来检查字符串的开头或结尾,只要使用str.startswith()和str.endswith()方法就可以了

 1 filename = spam.txt
 2 result = filename.endswith(.txt)
 3 print(result)
 4 
 5 result1 = filename.startswith(file:)
 6 print(result1)
 7 
 8 url = "http://www.python.org"
 9 result2 = url.startswith(http:)
10 print(result2)

运行结果:

True
False
True

如果需要同时针对多个选项做检查,只需给startswith()和endswith()提供包含可能选项的元组即可:

import os

filenames = os.listdir(.)

print(filenames)

result = [name for name in filenames if name.endswith((.py,.txt))]
print(result)

result1 = any(name.endswith(.py) for name in filenames)
print(result1)

结果:

[2_2_1.py, 11.txt, 2_1.py, 2_2.py]
[2_2_1.py, 11.txt, 2_1.py, 2_2.py]
True

 

在字符串的开头或结尾处做文本匹配

标签:listdir   问题   字符   star   模式   art   协议类型   元组   协议   

原文地址:https://www.cnblogs.com/leoych/p/13344818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!