【Python】判断字符串中是否包含子字符串

第一种:in /not in

if __name__ == "__main__":
    # print(os.path.basename(sys.argv[0]).upper())
    name = "TEST_DEBUG.PY"
    name1 = "DEBUG_TEST.PY"
    name2 = "DEBUG.PY"
    print("存在") if "TEST_" in name else print("不存在")
    print("存在") if "_TEST" in name else print("不存在")
    print("存在") if "_TEST" in name1 else print("不存在")
    print("存在") if "_TEST" in name2 else print("不存在")

 

执行结果

 

 

 

第二种:find

find(str,beg,end) :检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围

          检查是否包含在指定范围(beg,end)内,如果包含子字符串(str)返回开始的索引值,否则返回-1

 

if __name__ == "__main__":
    # print(os.path.basename(sys.argv[0]).upper())
    name = "TEST_DEBUG.PY"
    name1 = "DEBUG_TEST.PY"
    name2 = "DEBUG.PY"
    print(name.find("TEST_"))
    print(name1.find("_TEST"))
    print(name2.find("TEST_"))
    print(name2.find("_TEST"))

 

执行结果

 

 

第三种:count

count(str,beg,end) : 用于统计字符串(str)里某个字符或子字符串出现的次数。

           可选参数为在字符串搜索的开始(beg)与结束(end)位置

if __name__ == "__main__":
    # print(os.path.basename(sys.argv[0]).upper())
    name = "TEST_DEBUG.PY"
    name1 = "DEBUG_TEST.PY"
    name2 = "DEBUG.PY"
    print(name.count("TEST_"))
    print(name1.count("_TEST"))
    print(name2.count("TEST_"))
    print(name2.count("_TEST"))

 

执行结果

 

 

第四种:index

index(str,beg,end) :方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,

         该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

def is_in(full_str, sub_str):
    try:
        full_str.index(sub_str)
        return True
    except ValueError:
        return False

if __name__ == "__main__":
    # print(os.path.basename(sys.argv[0]).upper())
    name = "TEST_DEBUG.PY"
    name1 = "DEBUG_TEST.PY"
    name2 = "DEBUG.PY"

    print(is_in(name, "TEST_"))  # True
    print(is_in(name1, "TEST_"))  # False
    print(is_in(name1, "_TEST"))  # False
    print(is_in(name2, "TEST_"))  # False

 

执行结果

 

 

判断字符串是否以某个字符串开始或结束

    s = "hello world h"
    print('是否以 h 开头', s.startswith("h"))
    print('是否以 ho 开头', s.startswith("ho"))
    print('是否以 hello 开头', s.startswith("hello"))
    print('是否以 h 结尾', s.endswith("h"))
    print('是否以 ho 结尾', s.endswith("ho"))
    print('是否以 hello 结尾', s.endswith("hello"))

 

执行结果

 

posted @ 2022-11-04 15:38  Phoenixy  阅读(1882)  评论(0)    收藏  举报