Python字符串的所有操作

name = 'my name is jack'
print(name.capitalize())    #首字母大写
print(name.count('a'))      #字符出现次数
print(name.center(50, '*')) #打印50个字符,不足补上*
print(name.endswith('!'))   #是否以'!'什么结尾
print(name.expandtabs())    #把内部存在的TAB转换为空格的宽度
print(name.find('name'))    #返回字符的索引
'''
# 字符串也可以切片
print(name[name.find('name'):])
输出:
#name is jack
'''

""" name = 'my name is {name} and my age is {age}!'
print(name.format(name = 'jack', age = 28))
输出:
my name is jack and my age is 28! """
name = 'my name is {name} and my age is {age}!'
print(name.format_map({'name':'jack', 'age': '28'}))
# my name is jack and my age is 28!
print(name.isalnum())   #是否阿拉伯数字 False
print('123'.isalnum())  #True
print(name.isalpha())   # 如果字符串是字母字符串
print(name.isascii())   #如果字符串中的所有字符都是ASCII,则返回True,否则返回False。
print(name.isdecimal()) #如果字符串是十进制字符串,返回True,否则返回False。
print(name.isdigit())   #如果字符串是数字字符串,返回True,否则返回False。
print(name.isidentifier())  #如果字符串是有效的Python标识符,则返回True,否则返回False。
print(name.islower())   #如果字符串是小写字符串,返回True,否则返回False。
print(name.isnumeric()) #如果字符串是数值字符串,则为True,否则为False。
print(name.isprintable())   #如果字符串是可打印的,返回True,否则返回False。linux一切皆文件,tty不可打印,drive不可打印
print(name.isspace())   #如果字符串是空白字符串,返回True,否则返回False。
print(name.istitle())   #如果字符串是标题大小写字符串,则返回True,否则返回False。
print(name.isupper())   #如果字符串是大写字符串,返回True,否则返回False。
print('.'.join(name))  #连接任意数量的字符串。方法被调用的字符串被插入到每个给定字符串之间。结果作为一个新字符串返回。
#例如   例如:'.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
#输出结果: m.y. .n.a.m.e. .i.s. .{.n.a.m.e.}. .a.n.d. .m.y. .a.g.e. .i.s. .{.a.g.e.}.!
print(name.ljust(50,'*')) #返回长度和宽度为左对齐的字符串。填充指定的字符(默认为空格)
print(name.rjust(50,'*'))   #返回长度和宽度为右对齐的字符串。填充指定的字符(默认为空格)
print(name.lower()) #返回转换为小写的字符串的副本。
print(name.lstrip())    #返回删除前导空格的字符串的副本。如果给定字符而不是没有字符,则删除字符中的字符。
print(name.rstrip())    #返回删除尾随空格的字符串的副本。如果给定字符而不是没有字符,则删除字符中的字符
p = str.maketrans('abcdefg','1234567')
print('abcdhkklf ai'.translate(p))
#1234hkkl6 1i
'''
返回一个可用于str.translate()的翻译表。
如果只有一个参数,那么它必须是一个字典映射Unicode序号(整数)或字符到Unicode序号、字符串或None。然后将字符键转换为序号。
如果有两个参数,它们必须是长度相等的字符串,并且在生成的字典中,x中的每个字符将映射到字符在y中的相同位置。
如果有第三个参数,它必须是字符串,其字符将在结果中映射为None。
'''
print(name.partition('is')) #使用给定的分隔符将字符串划分为三个部分。
'''
这将搜索字符串中的分隔符。如果找到分隔符,
返回一个三元组,其中包含分隔符前的部分,即分隔符
本身,以及后面的部分。
如果没有找到分隔符,则返回包含原始字符串的3元组
和两个空字符串。
'''
#('my name ', 'is', ' {name} and my age is {age}!')
print(name.replace('n', 'N', 1))    #my Name is {name} and my age is {age}!
print(name.replace('n', 'N', 2))    #my Name is {Name} and my age is {age}!
print(name.replace('a', 'A', 3))    #my nAme is {nAme} And my age is {age}!
print(name.rfind('a'))      #返回S中找到子字符串子的最高索引,包含在S[start:end]中,参数的开始和结束可省略 
#错误返回 -1
print(name.rindex('a'))     #返回S中找到子字符串子的最高索引,使sub包含在S[start:end]中,参数的开始和结束可省略
#错误返回 ValueError
print(name.rpartition('a')) #使用给定的分隔符将字符串划分为三个部分。
'''
这将从字符串的末尾开始搜索分隔符。如果
找到分隔符后,返回包含
分隔符,分隔符本身,以及它后面的部分。
如果没有找到分隔符,则返回包含两个空字符串的三元组
和原来的字符串。
'''
print('1+2+3+4'.rsplit("+"))    #['1', '2', '3', '4']   
#None(默认值)表示根据任何空格进行分割,并从结果中丢弃空字符串。
#maxsplit最大分割次数。-1(默认值)表示没有限制
print('1+2\n+3+4'.splitlines()) #['1+2', '+3+4']按换行来分割 自动是被不同OS来换行linux \n  windows \r
print('jack kaller'.swapcase()) #将大写字母转换为小写字母,将小写字母转换为大写字母。
print(name.title())     #My Name Is {Name} And My Age Is {Age}!
#转换为首字母大写
print(name.zfill(50)) #在左边用零填充数字字符串,以填充给定宽度的字段。字符串永远不会被截断。

  

猜你喜欢

转载自www.cnblogs.com/lcxiao/p/11367107.html