查询指定元素的下标,如果查询的元素不存在,返回-1
str1 = "是微风,是晚霞,是心动不止和无可代替。"
print(str1.find("是")) # 0
print(str1.find("你")) # -1
print(str1.find("是", 5, 10)) # 8 范围内进行查询
print(str1.rfind("是")) # 8 从右往左查询
#执行结果:
0
-1
8
8
查询指定元素的下标,如果查询的元素不存在,则报错:
str1 = "是微风,是晚霞,是心动不止和无可代替。"
print(str1.index("是")) # 0
print(str1.index("你")) # ValueError: substring not found
print(str1.index("是", 5, 10)) # 8 范围内进行查询
print(str1.rindex("是")) # 8 从右往左查询
#执行结果:
0
ValueError: substring not found
8
8
统计元素在字符串中出现的次数
str1 = "是微风,是晚霞,是心动不止和无可代替。"
print(str1.count("是")) # 3
#执行结果:
3
判断字符串以…开头
str1 = "是微风,是晚霞,是心动不止和无可代替。"
print(str1.startswith("是")) # True
#执行结果:
True
判断字符串以…结尾
str1 = "是微风,是晚霞,是心动不止和无可代替。"
print(str1.endswith("。")) # True
#执行结果:
True
判断字符串里是否都是数字、英文、中文
str1 = "是微风,是晚霞,是心动不止和无可代替。"
text = "是微风 是晚霞 是心动不止和无可代替"
str2 = "abc123"
print(str1.isalnum()) # False
print(text.isalnum()) # True
print(str2.isalnum()) # True
#执行结果:
False
True
True
判断字符串里是否都是英文
str3 = "abc"
str2 = "abc123"
print(str3.isalpha()) # True
print(str2.isalpha()) # False
#执行结果:
True
False
判断字符串里是否都是数字
str4 = "123"
str2 = "abc123"
print(str4.isdigit()) # True
print(str2.isdigit()) # False
#执行结果:
True
False
replace(替换前,替换后),将括号内的字符串进行替换
str5 = "hello world"
print(str5.replace("world", "python")) # hello python
#执行结果:
hello python
将元素以指定的元素切割,默认以空格切割。
str5 = "hello world"
print(str5.split()) # ['hello', 'world']
str6 = "abcdabcabc"
print(str6.split("b")) # ['a', 'cda', 'ca', 'c']
#执行结果:
['hello', 'world']
['a', 'cda', 'ca', 'c']
将字符串按换行符进行切割
str7 = "满天都是星星\n好像一场冻结了的大雨"
print(str7.splitlines()) # ['满天都是星星', '好像一场冻结了的大雨']
#执行结果:
['满天都是星星', '好像一场冻结了的大雨']
去除字符串两边的空格
str8 = " 可以再浪漫些,日落、晚风和鲜花。 "
print(str8.strip()) # 可以再浪漫些,日落、晚风和鲜花。
print(str8.lstrip()) # 去除左边的空格
print(str8.rstrip()) # 去除右边的空格
#执行结果:
可以再浪漫些,日落、晚风和鲜花。
可以再浪漫些,日落、晚风和鲜花。
可以再浪漫些,日落、晚风和鲜花。
每个单词首字母大写
str5 = "hello world"
print(str5.title()) # Hello World
#执行结果:
Hello World
将字符串变成小写
str9 = "HELLO WORLD"
print(str9.lower()) # hello world
#执行结果:
hello world
将字符串变成大写
str10 = "hello world"
print(str10.upper()) # HELLO WORLD
#执行结果:
HELLO WORLD
将括号内的序列按照前面双引号中的字符进行拼接
list1 = ['p', 'y', 't', 'h', 'o', 'n']
str1 = "".join(list1)
print(str1)
#执行结果:
python
str11 = "5.5"
int(str11) # ValueError: invalid literal for int() with base 10: '5.5'
#执行结果:
ValueError: invalid literal for int() with base 10: '5.5'
字符串名[起始值:结束值:步长]
起始值不写,默认从第0个索引开始
结束值不写,默认是整个字符串
步长不写,默认是1
取值范围:左闭右开
str2 = "自由散漫的凉风,能治愈乱糟糟的坏心情。"
print(str2[:7]) # 自由散漫的凉风
print(str2[::-1]) # 。情心坏的糟糟乱愈治能,风凉的漫散由自
print(str2[-1:-10:-1]) # 。情心坏的糟糟乱愈
#执行结果:
自由散漫的凉风
。情心坏的糟糟乱愈治能,风凉的漫散由自
。情心坏的糟糟乱愈