来自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.png2.find() 和 index()
image.png3.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.png2.使用循环查找
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
网友评论