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

问题:

我们需要在字符串的开头或结尾处按照指定的文本模式做检查,例如检查文件的扩展名、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

 

posted @   胸怀丶若谷  阅读(412)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
点击右上角即可分享
微信分享提示