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)) #在左侧用零填充数字字符串,以填充给定宽度的字段。字符串永久不会被截断。
name = "my name is jack"
print(name.capitalize(