1. 程式人生 > 程式設計 >Python startswith()和endswith() 方法原理解析

Python startswith()和endswith() 方法原理解析

startswith()方法

Python startswith() 方法用於檢查字串是否是以指定子字串開頭

如果是則返回 True,否則返回 False。如果引數 beg 和 end 指定值,則在指定範圍內檢查。

str.startswith(str,beg=0,end=len(string));

引數

  • str --檢測的字串。
  • strbeg --可選引數用於設定字串檢測的起始位置。
  • strend --可選引數用於設定字串檢測的結束位置。

返回值

如果檢測到字串則返回True,否則返回False。

常用環境:用於IF判斷

#!/usr/local/bin/python
# coding=utf-8
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

注:會認為空字元為真

python
>>> 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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。