字符串常用操作
name = "my name is alex" # 注: python中方法名前后带下划线的是供内部使用的方法, 如方法__dir__(). 这种方法是不对外提供使用的. # 把第一个单词的首字母改成大写
print(name.capitalize()) # 把所有单词的首字母改成大写
print(name.title()) # 把所有单词中字母的大小写反转(即原来大写的改小写,原来小写的改大写)
print('Alex Li'.swapcase()) # 返回aLEX lI # 和列表中的count()方法作用一样,统计特定字符或字符串出现的次数
print(name.count("a")) # 设置字符串打印格式. 头尾添加特殊符号.
print(name.center(50,"...")) # 一共50个字符, 不够的字符长度用...补足 # 转换字符串为指定长度, 不足部分在字符串末尾添加特殊符号补足.
print(name.ljust(50,'*')) #字符串长50, 不够的在末尾补上*. # 转换字符串为指定长度, 不足部分在字符串开头添加特殊符号补足.
print(name.rjust(50,'*')) #字符串长50, 不够的在开头补上*. # 转换字符串为指定长度, 不足部分在字符串开头添加0补足.
print(''.zfill(50)) # 以...开头
print('abcd'.startswith()) # 以...结尾
print(name.endswith()) # 把字符串中的tab键转成指定数量的空格
name1 = "my \tname is alex"
print(name1.expandtabs(tabsize=30)) #把tab转换成30个空格 # 查找字符串中指定字符的位置
print(name.find("y"))
# 可以借用此方法来对字符串进行切片
print(name[name.find("name"):9]) # 取出name及其后面的字符串 # 查找字符串中指定字符的位置,但当该字符多次出现时仅返回最后一次再现的位置索引.
print('alex lie'.rfind('e')) # 格式化
name2 = "my name is {name} and i am {year} old"
print(name.format(name='alex', year=22))
print(name.format_map({'name':'alex','year':12})) # 判断一个字符串是不是阿拉伯数字 (只包含英文字母加上0-9, 不可以有其它字符或特殊符号)
print('abc123'.isalnum()) # 是否纯英文字符
print('abA'.isalpha()) # 是不是十进制的数
print('1.23'.isdecimal()) # 判断是不是一个合法的标识符(即是不是一个合格的变量名.)
print('1A'.isidentifier()) # 是不是小写
print('a 1A'.islower()) # 是不是数字 (only numeric character). 和isdigit()方法的区别? TODO
print('33.33'.isnumeric()) # 是不是空格
print('aaa'.isspace()) # 是不是所有单词的首字母均大写
print('My name is '.istitle()) # 是不是可打印. 所有String不存在这个问题,一定能都打印. 如果是tty file, drive file则不能打印
print('My name is'.isprintable()) # 是不是大写
print('my name is'.isupper()) # 把列表中的元素取出变成字符串(各个元素中间可用逗号隔开,也可以不添加任何间隔符)
print(','.join(['','','','']))
# 列表中必须是字符串形式的['1','2'],否则如果是数字形式[1,2]会join失败 # 把大写变成小写
print('Alex'.lower()) # 把小写变成大写
print('alex'.upper()) # 从左边去掉空格和回车
print(' Alex \n'.lstrip()) # 默认从两边去掉空格和回车
print('\n Alex\n'.strip()) # 从右边去掉空格和回车
print('al \n'.rstrip()) # 对字符串进行加密
p = str.maketrans("abcdef",'')
print("alex li".translate(p)) # 返回115x li # 替换
print('alex li'.replace('l','L')) # 字符串中所有l都将被替换成L
print('alex li'.replace('l','L',1)) # 仅将字符串中第一个l替换成L # 把字符串按照指定间隔符分成列表
print('alex li'.split()) # 按空格分
print('alex liline'.split('l')) # 按照字母l分. 因为l被当成分隔符,所以打印结果中将不会出现l.
print('1+2+3+4'.split('+')) # 按+分, 把数字都提取出来 # 按字符串按照换行符分成列表
print('1+2\n+3+4'.splitlines())
# 此方法略同于print('1+2\n+3+4'.split(\n), 但这种写法只在windows下起作用. 而splitlines()方法在不同环境都可以用.