# find():查找某段字符的下标,如果存在字符返回下标,如果不存在就返回-1
# 字符串序列.find(子串,开始位置下标,结束位置下标)

a = "hello world"
print(a.find("o"))  # 4下标 从左往右 只会找第一个 不写开始位置和结束位置从0开始找
print(a.find("o", 6))  # 7第二个o的下标
print(a.find("z"))  # -1不存在

# index():查找某段字符的下标,如果存在字符返回下标,如果不存在就报错
# 字符串序列.index(子串,开始位置下标,结束位置下标)

print(a.index("o"))
print(a.index("o", 6))
# print(a.index("z"))  # 字符不存在报错ValueError: substring not found


# count():返回子串在字符串中出现的次数,统计出现次数
# 字符串序列.count(子串,开始位置下标,结束位置下标)

print(a.count("l"))
print(a.count("l", 6))
print(a.count("z"))  # 没有则返回0


# rfind():和find()功能相同,但查找方向为右侧开始
# rindex():和index()功能相同,但查找方向为右侧开始

print(a.rfind("o"))  # 如果想找这个字符最后出现的下标用这个
print(a.rindex("o"))


# replace():替换
# 字符串序列.replace(旧子串,新子串,替换次数)

print(a.replace("l", "L"))  # 把小写的l替换成大写的L  替换次数不写的情况默认全部替换
print(a.replace("l", "L", 1))  # 1为指定的替换次数


# split():以什么进行分割,返回一个列表的数据
# 字符串序列.split(分割字符,num)

print(a.split("o"))  # ['hell', ' w', 'rld']  如果不指定最大分割次数,默认全部分割
print(a.split("o", 1))  # ['hell', ' world']


# join():拼接成一个大的字符串,合并列表里面的字符串数据为一个大字符串
# 字符串或字串.join(多字符串组成的序列)

print("*".join(a))  # h*e*l*l*o* *w*o*r*l*d


# strip():删除字符串两边的指定字符,默认为空格
# 字符串序列.strip()

b = " hello world "
print(b.strip())  # 不写参数默认是删除左右两边的空格

c = "**hello world*"
print(c.strip("*"))  # 删除左右两边的*