#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:woshinidaye
#字符串的操作
name = 'woshinidaye'
lala = 'my name is {name} and i am {age} old'
print(name.capitalize()) #首字母大写
print(name.count('i')) #数量统计
print(name.center(50,'-')) #宽度、长度 50;不够用‘-’补充
print(name.endswith('s')) #判断是否以‘s’结尾
print(name.endswith('e'))
print(name.expandtabs(tabsize=10)) #确定table的长度
print('======>',name.find('i')) #查找从哪个开头的索引
print(type(name.find('ni'))) #可以用于字符串切片
print(name[name.find('ni'):7]) #字符串的切片,和列表用法一致
print(lala.format(name='woshinidaye',age=18)) #格式化输出
print(lala.format_map({'name':'woshinidaye','age':18})) #这里是字典
print(name.index('i')) #感觉这个和find没啥区别
print(name.isalnum()) #判断是不是 阿拉伯 字符
print('4568n#'.isalnum()) #判断是不是 阿拉伯 字符
print('ase'.isalpha(),'aAA'.isalpha(),'12fgh'.isalpha()) #判断是不是纯英文字符
print('====>','123'.isnumeric(),'-123.1'.isnumeric()) #判断是不是整数
print('123'.isdecimal(),'123.123'.isdecimal())
print('====>','123'.isdigit(),'-123.1'.isdigit()) #判断是不是整数
print('四十四'.isdigit(),'四十四'.isnumeric()) #中文也能判断。。。艹了
print('12ad'.isidentifier(),'ad12'.isidentifier()) #判断是不是合法的变量名
print('sss'.islower(),'ssS'.islower()) #判断是不是小写
print('sss'.isspace(),'ss s'.isspace(),' '.isspace()) #判断是不是空格
print('parting'.center(100,'='))
print('woshinidaye'.istitle())
print('Woshinidaye'.istitle()) #首字母才返回真
print('ss'.isupper(),'SS'.isupper(),'sS'.isupper()) #判断是不是全大写
print(''.join(['1','2','3']),'+'.join(['1','2','3']),type(''.join(['1','2','3'])))
print(lala.ljust(50,'=')) #字符串在左边,不够的,右边用=补充
print(lala.rjust(50,'=')) #字符串在右边,不够的,左边用=补充
print('asssdsad'.upper(),'AAAAA'.lower(),'saTGTG'.upper()) #全部改为大写或者小写
print('parting'.center(100,'='))
print('\n 123 '.lstrip(),'123 \n'.rstrip(),'\n13123\n'.strip()) #左边去回车,空格,右边去,两边去
#p = str.maketrans({'f':'99'}) #把对应的字符翻译成一个想要的结果,也就是替换,一个参数必须为字典
p = str.maketrans('fa','AA') #两个参数的话,就要求参数长度对应
#p = str.maketrans('f','b','1')#三个参数的话,就要把3个参数匹配的变为NONE
print('sfas'.translate(p))
#{102: 49, 97: 51}
print('aassddaa'.replace('aa','AA',1),'aassddaa'.replace('aa','AA',2),'aassddaa'.replace('a','AA',2)) #这个替换,是以old STR匹配一次计数
print('aaabbbcccdddeeefff'.rfind('f'),'aaabbbcccdddeeefff'.find('f')) #最高索引还是最低索引
print('1123 234 345 '.split('3'),'1123 234 345 '.split(),'1+2+3+4'.split('+')) #3为定界符 delimiter,没写就默认是空格
print('1111\n2222'.splitlines()) #以换行符区分
print('123qwe12314355'.startswith('123')) #以‘123’开始
print('1231313123qwq'.endswith('qwq')) #以‘qwq’结束
print('qweQWE'.swapcase()) #把大小写反过来
print('of s is a big'.title()) #首字母全部大写
print('123123'.zfill(50))
print('ending'.center(100,'='))