Python中startswith()和endswith()的用法详解

远山来客
远山来客
发布时间:2026-10-15 | 4人浏览过
原创

本文详解Python中startswith()和endswith()两个字符串方法。介绍如何检查字符串是否以指定子串开头或结尾,包含参数beg和end的用法,以及通过元组匹配多后缀的技巧。适用于IF判断逻辑及文件类型识别场景。

startswith()方法

Python中的startswith()函数用于验证字符串是否以特定的子字符串起始。若匹配成功则返回True,否则返回False。当提供参数beg和end指定范围时,仅在指定区间内进行检测。语法格式为:str.startswith(str, beg=0, end=len(string))。

参数说明

  • str:表示需要检测的目标字符串。
  • strbeg:可选参数,用于设定字符串检测的起始位置索引。
  • strend:可选参数,用于设定字符串检测的结束位置索引。

返回值说明

若检测到指定的字符串,则返回True;否则返回False。

常见应用场景:常用于IF条件判断语句中。


listsql = 'select * from ifrs.indiv_info'
def isSelect(sql):
    chsql = sql.upper().strip()
    if not chsql.startswith("SELECT "):
        return False
    return True

print isSelect(listsql)
[root@bigdata-poc-shtz-3 zw]# python h.py
True

endswith()方法

功能:判断字符串是否以指定的字符或子字符串结尾,常用于识别文件类型。

函数说明

语法格式如下:


string.endswith(str, beg=[0,end=len(string)])
string[beg:end].endswith(str)

参数说明:

  • string:表示被检测的原始字符串。
  • str:表示指定的字符或子字符串(支持传入元组,将逐一进行匹配检查)。
  • beg:设置字符串检测的起始位置(可选,默认从左向右计数)。
  • end:设置字符串检测的结束位置(可选,默认从左向右计数)。
  • 若存在参数beg和end,则在指定范围内进行检查;否则在整个字符串中进行检查。

返回值说明

如果字符串以指定内容结尾,则返回True;否则返回False。

解析:若字符串string以str结束,则返回True,否则返回False。

注意:空字符串会被视为真值(即返回True)。


'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> endsql = 'select * from ifrs.indiv_info'
>>> endsql.endswith('info')
True
>>> endsql.endswith('info',3)
True
>>>
>>> endsql.endswith('info',3,10)
False
>>> endsql.endswith('info',25,29)
True
>>> endsql.endswith('')
True

常见应用场景:用于判断文件类型(例如图片格式、可执行文件后缀等)。


>>> f = 'a.txt'
>>> if f.endswith(('.txt')):
...  print '%s is a txt' %f
... else:
...  print '%s is not a txt' %f
...
a.txt is a txt

到此这篇关于python中startswith()和endswith()的用法的文章就介绍到这了,更多相关python startswith()和endswith()用法内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表