python字符串匹配开头_对python 匹配字符串开头和结尾的方法详解

python字符串匹配开头_对python 匹配字符串开头和结尾的方法详解1、你需要通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URLScheme等等。检查字符串开头或结尾的一个简单方法是使用str.startswith()或者是str.endswith()方法。比如:>>>filename=’spam.txt’>>>filename.endswith(‘.tx…

大家好,又见面了,我是你们的朋友全栈君。

1、你需要通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URL Scheme 等等。检 查 字 符 串 开 头 或 结 尾 的 一 个 简 单 方 法 是 使 用str.startswith() 或 者 是str.endswith()方法。比如:

>>> filename = ‘spam.txt’

>>> filename.endswith(‘.txt’)

True

>>> filename.startswith(‘file:’)

False

>>> url = ‘http://www.python.org’

>>> url.startswith(‘http:’)

True

>>>

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

>>> import os

>>> filenames = os.listdir(‘.’)

>>> filenames

[ ‘Makefile’, ‘foo.c’, ‘bar.py’, ‘spam.c’, ‘spam.h’ ]

>>> [name for name in filenames if name.endswith((‘.c’, ‘.h’)) ]

[‘foo.c’, ‘spam.c’, ‘spam.h’

>>> any(name.endswith(‘.py’) for name in filenames)

True

>>>

#示例2

from urllib.request import urlopen

def read_data(name):

if name.startswith((‘http:’, ‘https:’, ‘ftp:’)):

return urlopen(name).read()

else:

with open(name) as f:

return f.read()

奇怪的是,这个方法中必须要输入一个元组作为参数。如果你恰巧有一个list 或者 set类型的选择项,要确保传递参数前先调用 tuple()将其转换为元组类型。比如:

>>> choices = [‘http:’, ‘ftp:’]

>>> url = ‘http://www.python.org’

>>> url.startswith(choices)

Traceback (most recent call last):

File “”, line 1, in

TypeError: startswith first arg must be str or a tuple of str, not list

>>> url.startswith(tuple(choices))

True

>>>

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

>>> filename = ‘spam.txt’

>>> filename[-4:] == ‘.txt’

True

>>> url = ‘http://www.python.org’

>>> url[:5] == ‘http:’ or url[:6] == ‘https:’ or url[:4] == ‘ftp:’

True

>>>

4、你可以能还想使用正则表达式去实现,比如:

>>> import re

>>> url = ‘http://www.python.org’

>>> re.match(‘http:jhttps:jftp:’, url)

>>>

5、当和其他操作比如普通数据聚合相结合的时候 startswith()和endswith() 方法是很不错的。比如,下面这个语句检查某个文件夹中是否存在指定的文件类型:

if any(name.endswith((‘.c’, ‘.h’)) for name in listdir(dirname)):

以上这篇对python 匹配字符串开头和结尾的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2018-10-25

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159991.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月15日 下午11:36
下一篇 2022年7月15日 下午11:46


相关推荐

  • Idea激活码最新教程2024.2.0.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2024.2.0.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2024 2 0 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2024 2 0 1 成功激活

    2025年5月28日
    5
  • Linux杀死进程命令:kill、killall、pkill

    Linux杀死进程命令:kill、killall、pkillkill命令:   1.格式:kill[信号]进程id   2..查看经常信号:kill-l   3.常用命令:          平滑重启进程:kill-1进程id          强制杀死进程:kill-9进程id#查看进程可用psaux命令killall命令:   1.格式:killall[信…

    2026年4月16日
    6
  • 浏览器缓存的位置

    浏览器缓存的位置缓存位置的类型缓存位置有四种 各自有优先级 当依次查找缓存且都没有命中的时候 才会去请求网络 ServiceWorke 是运行在浏览器背后的独立线程 一般可以用来实现缓存功能 基于 h5 的 webworker 所以绝对不会阻碍当前 js 线程的执行 最重要的工作原理就是 后台线程 独立于当前网页线程 网络代理 在网页发起请求时代理 来缓存文件 使用 ServiceW

    2026年3月26日
    2
  • 智能体知识保留率评估实战:ML-Agents迁移学习新范式

    智能体知识保留率评估实战:ML-Agents迁移学习新范式

    2026年3月16日
    3
  • python求乘积_Python实现求笛卡尔乘积的方法

    python求乘积_Python实现求笛卡尔乘积的方法Python 实现求笛卡尔乘积的方法本文实例讲述了 Python 实现求笛卡尔乘积的方法 分享给大家供大家参考 具体如下 在数学中 两个集合 X 和 Y 的笛卡尓乘积 Cartesianpro 又称直积 表示为 X Y 第一个对象是 X 的成员而第二个对象是 Y 的所有可能有序对的其中一个成员 假设集合 A a b 集合 B 0 1 2 则两个集合的笛卡尔积为 a 0 a 1 a 2

    2026年3月19日
    4
  • 如何设置VSCode删除整行快捷键?

    如何设置VSCode删除整行快捷键?如何设置VSCode删除整行快捷键?在使用VSCode的时候,发现它的快捷键是Ctrl+Shift+K那怎么设置成我们经常用的Ctrl+D呢1.选择文件–>首选项–>键盘快捷方式2.输入CtrlD,对应的是将下一个查找匹配项添加到选择,点击前面的编辑,将快捷键改成(Ctrl+Shift+Alt+D)改成一个不会与现有的快捷键重复就行;3.输入CtrlShiftK找到原来的删除整行快捷命令,将其改成Ctrl+D,就可以愉快地删除了…

    2022年6月15日
    226

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号