美文网首页
python3-字符串的查找与判断

python3-字符串的查找与判断

作者: Snails_Tin | 来源:发表于2021-07-19 17:10 被阅读0次

    来自python3学习笔记,有不正确的地方大家多多指教

    一、判断字符串出现的位置

    # 判断一个字符串是否包含某个指定的字符串
    str = "python test th hello world"
    str1 = "hello"
    str2 = "string"
    str3 = "th"
    str4 = "or"
    
    # find
    print(str.find(str1))   # 输出:15,表示该字符串在下标为15的位置上
    print(str.find(str2))   # 输出:-1,表示该字符串未找到
    print(str.find(str3))   # 输出:2,表示该字符串第一次在下标为2的位置上
    
    # rfind
    print(str.rfind(str1))   # 输出:15,表示该字符串在下标为15的位置上
    print(str.rfind(str2))   # 输出:-1,表示该字符串未找到
    print(str.rfind(str3))   # 输出:12,从右往左查找,该字符串第一次出现在的位置
    
    # index
    print(str.index(str1))   # 输出:15,表示该字符串在下标为15的位置上
    print(str.index(str3))   # 输出:2,表示该字符串第一次在下标为2的位置上
    print(str.index(str2))   # 报错,字符串未找到
    
    # rindex
    print(str.rindex(str1))   # 输出:15,表示该字符串在下标为12的位置上
    print(str.rindex(str3))   # 输出:12,从右往左查找,该字符串第一次出现在的位置
    print(str.rindex(str2))   # 报错,字符串未找到
    
    

    下面查看各个方法的区别

    1.find() 和 rfind()

    image.png

    2.find() 和 index()

    image.png

    3.index() 和 rindex()

    image.png

    二、断言:在文件中是否存在该字符串

    文件包含的内容(include.yaml文件)

    - python test th hello world
    - hello
    - string
    - th
    - 666
    - or
    
    

    1.使用正则表达式查找

    import re
    
    path = r"E:\\study\\Fork\\python\\PC_ShiLi\\python3_test\\include.yaml"
    with open(path, encoding='utf-8') as file:
        datafile = file.read()
    result = re.findall(r'\\d+', datafile)
    print(result)
    
    

    输出:

    image.png

    2.使用循环查找

    path = r"E:\\study\\Fork\\python\\PC_ShiLi\\python3_test\\include.yaml"
    temp = "hello"
    with open(path, encoding='utf-8') as file:
        datafile = file.readlines()
    for line in datafile:
        if temp in line:
            print("temp")
        else:
            print("not found!")
    
    

    输出:

    image.png

    相关文章

      网友评论

          本文标题:python3-字符串的查找与判断

          本文链接:https://www.haomeiwen.com/subject/tvjhmltx.html