s = "Adobe Acrobat Pro DC"
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[-2])
print(s[-1])
# 通过索引获取到的内容还是一个字符串
# 切片可以对字符串进行截取
# 语法 s[起始位置:结束位置] 左闭右开
s = "Adobe Acrobat Pro DC"
print(s[0:6])
print(s[:6]) 从头到第6个字符
print(s[6:]) 第6个字符到末尾
print(s[-3:-1]) 倒数第3个字符到倒数第1个字符
# 步长
语法:s[起始位置:结束位置:步长] 范围起始位置到结束位置,每(步长)字符取第一个 (以步长分组)
s = "Adobe Acrobat Pro DC"
s1 = s[0:5:2]
print(s1) #结果:Aoe
s1 = s[6:2:-2] #负号代表方向,反着取
print(s1)
s1 = s[::-1]
print(s1) #将字符串倒过来
# 字符串相关方法
# 切记,字符串是不可变的对象,任何操作对源字符串是不会有任何影响的
# 字符串转换
s = "zhangsan and lisi and wangwu and zhaoliu "
s1 = s.capitalize() # 首字母变大写
s1 = s.lower() # 全部变小写
s1 = s.upper() # 全部变大写
s1 = s.swapcase() # 大小写互换
s1 = s.casefold() # 转换小写,lower对某些国家支持不好,casefold对所有字符有效
s1 = s.title() # 每个被特殊字符隔开的字母首字母大写(空格,中文字符也算特殊字符)
# 字符串切片
s = " zhangsan and lisi and wangwu and zhaoliu "
s.center(10) # 拉长为10个字符, 原字符串居中显示,其余空格补位
s.center(10, "*") # 部位用*替代
s1 = s.strip() # 去掉左右两侧空格
s1 = s.strip("zhang") # 去掉左右两侧指定字符(无论有多少符合都去掉)
s1 = s.lstrip() # 去掉左两侧空格
s1 = s.rstrip() # 去掉右两侧空格
s1 = s.replace("zhangsan", "123") # 字符替换(全部),可用于去掉字符
s1 = s.replace("zhangsan", "123" , 2) # 字符替换(前2个)
list = s.split(" ") # 字符串切割,切出来是列表 如果切两侧,会产生空字符串
# 字符串格式化输出
s = "我叫%s ,我今年%d岁了,我性别是%s" % ("张三", 20, "男")
s1 = "我叫{} ,我今年{}岁了,我性别是{}".format("张三", 20, "男")
s2 = "我叫{1} ,我今年{0}岁了,我性别是{2}".format(20, "张三", "男") # 可控制位置
s3 = "我叫{name} ,我今年{age}岁了,我性别是{sex}".format(name="张三", age=20, sex="男") # 关键字
# 字符串查找
s = "zhangsan and lisi and wangwu and zhaoliu"
s.startswith("zhangsan") # 是否以“”为开头
s.endswith("zhangsan") # 是否以“”为结尾
s.count("z") # 判断有几个“”
s.find("and") # 在源字符串中查找“”并返回相应索引。找到即返回,没找到返回-1 输入几个字符,以几个字符为一组。返回相应位置
s.find("and", 0, 12) # 添加范围,左闭右开
s.index("and") # 与find不同,找不到直接报错
# 字符串条件判断
s = "zhangsan and lisi and wangwu and zhaoliu"
s.isalnum() # 是否由字母和数字组成
s.isdigit() # 是否由数字组成
s.isnumeric() # 判断是否由数字组成,可识别中文大写
s.isalpha() # 是否由字母组成
i = len(s) # 计算字符串长度
s.__len__() # len()中调用的就是这个,都可以求长度
# 字符串遍历
for c in s:
print(c)