#!/usr/bin/python3
# 索引
s1=' q0123456789qaz '
print(s1[0:3]) #含左不含右
print(s1[-3]) #倒序
print(s1[:5]) #省略开始或结束索引,本demo会打印出来0-4
# in运算符判断包含
print('123' in s1)
print('qwer' in s1)
# len()函数获取序列长度
print(len(s1))
# min()和max()获取最大和最小字符
print(min(s1))
print(max(s1))
# dir()列出指定类或者某个模块的包含的全部内容;help():查看某个函数或方法的帮助文档
# print(dir(str))
# print(help(str))
# 字母大小写
s1=s1.title() # 首字母大写
print(s1)
print(s1.upper())
print(s1.lower())
# 删除空白
print(s1.strip())
print(s1.lstrip())
print(s1.rstrip())
# 查找和替换
s2='this is replace and find demo'
print(s2)
print(s2.replace('this','demo1'))
print(s2.replace('is','not',1)) # 替换一个,默认从左向右
print(s2.find('i')) #返回首个单个字符位置
print(s2.find('this',9)) # 从位置9开始找,找不到返回-1
print(s2.startswith('this')) # true
print(s2.endswith('demo1')) # false
print(s2.index('is')) #返回首个字符位置,不存在会抛出ValueError
print(s2.index('is',5)) #从位置5开始找
table={97: 945, 98 : 946, 116: 964} # 自定义翻译映射表(需要指定单个字符编码);如需自定义,建议使用maketrans直接生成字符或者字符串的映射表
print(s2.translate(table)) # 使用指定的翻译映射表对字符串进行替换
table1=str.maketrans('this','!@#$') # 自定义翻译映射表,使用字符
print(table1) # 输出规范后的翻译表(字符编码格式)
print(s2.translate(table1))
# 分割和连接方法
s3='''Life moves pretty fast. If you don't stop and look around once in a while, you could miss it.'''
print(s3.split()) #使用分隔符将字符串分割为列表,默认以空白分割
print(s3.split(None,2)) #仅分割前两个空白符
print(s3.split(','))
s4=s3.split()
print('\\'.join(s4)) #join()连接,与split相反;'连接符'.join(列表)