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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。