# 字符串的定义和操作
# 字符串也可以当做一个数据容器, 字符串不可修改!!!
# 字符串无法修改,添加和改变后都会得到一个新的字符串
"""
1 字符串[下标] 根据下标索引取出特定位置字符
2 字符串.index(字符串) 查找给定字符的第一个匹配项的下标
3 字符串.replace(字符串1,字符串2) 将字符串内全部字符串1,替换为字符串2,得到一个新的字符串
4 字符串.split(字符串) 按照给定字符串,对字符串进行分隔,得到一个新!!!列表!!!
5 字符串.strip( ) 移除字符串首位的空格和换行符或指定字符串
字符串.strip("字符串")
6 字符串.count(字符串) 统计字符串内某字符串出现的次数
7 len(字符串) 统计字符串的字符个数
"""
# 字符串的特点:
# 1.只能支持字符串储存
# 2.长度任意,支持下标索引
# 3.允许重复字符串存在
# 5.不可以修改字符串,只能得到一个新的字符串
# 6.支持for循环
my_str = "yuhaifeng love yinliyuan"
# 1.下标索引 字符串中的空格也算数下标
value = my_str[2]
value2 = my_str[-22]
print(f"在my_str中,下标为3的元素是{value},下标为-20的元素是{value2}")
# 2.index方法
value3 = my_str.index("love")
print(f"在my_str中,love的下标是{value3}")
# 3.字符串的替换
# 语法: 字符串.replace(字符串1,字符串2)
# 功能: 将字符串内的全部: 字符串1,替换为字符串2
# 注意: 不是修改字符串本身,而是得到了一个新字符串哦
new_my_str = my_str.replace("i","aiyou")
print(f"将{my_str}中的元素i替换后新字符串的内容是:{new_my_str}")
# 4.字符串的分割
# 语法:字符串.split(分割符字符串)
# 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
# 注意:!!!字符串本身不变,而是得到了一个列表对象!!!0
str2 = "hao hao xue xi tian tian xiang shang"
new_str2 = str2.split(" ")
print(f"{str2}进行分割后的结果是:{new_str2}")
# 5.字符串的规整操作
# 语法: 字符串.strip() 去掉前后空格
# 语法: 字符串.strip("字符串") 去掉前后指定的字符串
new_my_str3 = str2.split()
print(f"{str}进行规整操作后的内容是:{new_my_str3}")
str4 = "hao,hao,xue,xi,tian,tian,xiang,shang"
new_my_str4 = str4.split("ha")
print(f"{str4}进行规整操作后的内容是:{new_my_str4}")
# 6.统计字符串中某个字符串出现的次数,用count
count = str4.count("a")
print(f"在字符串{str4}中,a出现了{count}次")
# 7.统计字符串的长度, len
num = len(str4)
print(f"字符串{str4}的长度是:{num}")
