zoukankan      html  css  js  c++  java
  • Python的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的朋友可能会忘了元组周围的括号。

  • 相关阅读:
    BZOJ2223: [Coci 2009]PATULJCI
    BZOJ2157: 旅游
    HDU6368
    BZOJ2006: [NOI2010]超级钢琴
    BZOJ1969: [Ahoi2005]LANE 航线规划
    BZOJ1878: [SDOI2009]HH的项链
    BZOJ1798: [Ahoi2009]Seq 维护序列seq
    BZOJ1503: [NOI2004]郁闷的出纳员
    BZOJ1370: [Baltic2003]Gang团伙
    BZOJ1342: [Baltic2007]Sound静音问题
  • 原文地址:https://www.cnblogs.com/blogofwyl/p/4609553.html
Copyright © 2011-2022 走看看