startswith和endswith 函數(轉)


做文本處理的時候經常要判斷一個文本有沒有以一個子串開始,或者結束。Python為此提供了兩個函數:
S.startswith(prefix[, start[, end]]) -> bool
如果字符串S以prefix開始,返回True,否則返回False。start和end是兩個可以缺省的參數。分別是開始比較的位置和結束比較的位置。這個函數也可以寫成S[start:end].startswith(prefix)。
S.endswith(suffix[, start[, end]]) -> bool
如果字符串S以suffix結束,返回True,否者返回False。與startswith類似,這個函數也可以寫成S[start:end].endswith(suffix)。start和end仍然是從左數起。
做個實例:
>>> “fish”.startswith(”fi”)
True
>>> “fish”.startswith(”fi”,1)
False
>>> “fish”.endswith(”sh”)
True
>>> “fish”.endswith(”sh”,3)
False

Python的這兩個函數有個特別的地方——它的prefix和suffix參數不僅可以是字符串,還都可以是一個元組。只要其中一個成立,就返回True,也就是一種“或”的關系。比如:
if filename.endswith((’.gif’, ‘.jpg’, ‘.tiff’)):
print “%s是一個圖片文件”%filename
上面兩行代碼根據文件擴展名是否是“gif”、“jpg”或“tiff”之一來決定文件是不是圖片文件。這個代碼也可以寫成:
if filename.endswith(”.gif”) or filename.endswith(”.jpg”) or filename.endswith(”.tiff”):
print “%s是一個圖片文件”%filename
不過這樣比較麻煩。值得注意的是,不熟悉Python的朋友可能會忘了元組周圍的括號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM