【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"))
执行结果

-------------------------------------------------------------------------------------
如果万事开头难 那请结局一定圆满 @ Phoenixy
-------------------------------------------------------------------------------------
浙公网安备 33010602011771号