字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
首字母大写
name = "zhangbichen"
print(name.capitalize())
执行输出 Zhangbichen
统计关键字出现的次数
print(name.count("h"))
执行输出 2
居中显示
print(name.center(20,"-"))
表示总共要输出20个字符串,字符串居中显示,如果不够20个,用-补充。
执行输出:
----zhangbichen-----
判断以什么结尾
print(name.endswith("en"))
如果条件符合,返回True,否则返回false
执行输出 True
查找字符串的索引位置
print(name.find("gb"))
从左向右数,gb在第4个位置
执行输出 4
切片
字符串的切片方法和列表切片,方法是一样的
print(name[name.find("gb"):9])
执行输出 gbich
格式化
format针对变量进行赋值
name = "{user} is {year} years old this year"
print(name.format(user='zhangbichen',year=29))
执行输出
zhangbichen is 29 years old this year
format_map 可以传一个字典
name = "{user} is {year} years old this year"
print(name.format_map({'user':'zhangbichen','year':29}))
执行输出,同上
判断是否是阿拉伯数字加字母
如果还有其他字符,返回false
print('abc123'.isalnum())
执行输出 True
判断是否是纯英文字符
包含大写
print('abc123'.isalpha())
执行输出 False
判断是否是一个十进制数
print('abc123'.isdecimal())
执行输出 False
判断是否是一个整数,比较常用
print('123.3'.isdigit())
执行输出 False
判断是否是一个合法的标识符
合法的标识符相当于,一个合法的变量名
print('a 1A'.isidentifier())
执行输出 False
判断是否是一个小写字母
print('abc'.islower())
执行输出 True
判断是否是一个纯数字
不允许有点或者其他字符
print('333.33'.isnumeric())
执行输出 False
判断是否是一个空格
print('333.33'.isspace())
执行输出 False
判断是否是一个标题
print('My name is xubing'.istitle())
执行输出 False
istitle() 必须要求每个字母,首字母大写
print('My Name Is Xubing'.istitle())
执行输出 True
判断是否可以打印
print('My Name Is Xubing'.isprintable())
执行输出 True
一般的字符串,符号都可以打印。什么文件不能打印呢?比如linux的tty文件,它是linux的驱动文件,不能打印的。
判断是否是纯大写字母
print('My Name Is Xubing'.isupper())
执行输出 False
字符串拼接join(),这个方法比较常用
print('+'.join(['1','2','3']))
join可以将一个列表转换为字符串
执行输出 1+2+3
字符串填充,左对齐
name = "zhangbichen"
print(name.ljust(20,'*'))
执行输出 zhangbichen*********
字符串填充,右对齐
name = "zhangbichen"
print(name.rjust(20,'*'))
执行输出 *********zhangbichen
将大写字母变成小写
name = "ZhangBiChen"
print(name.lower())
执行输出 zhangbichen
将小写字母变成大写
name = "ZhangBiChen"
print(name.upper())
执行输出 ZHANGBICHEN
去除左边的空格和回车符
name = "\nZhangBiChen"
print(name.lstrip())
执行输出 ZhangBiChen
去除右边的空格和回车符
name = "\nZhangBiChen\n"
print(name.rstrip())
执行输出
ZhangBiChen
去除左右两边的空格和回车符,这个用的比较多
name = " \nZhangBiChen\n "
print(name.strip())
执行输出 ZhangBiChen
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
p = str.maketrans("abcdef",'123456')
print("zhangbichen".translate(p))
由于a对应数字1,b对应数字2,后面的依此类推
执行输出 zh1ng2i3h5n
替换
name = "zhangbichen"
print(name.replace("h","H"))
将h替换成H
执行输出 zHangbicHen
如果不想全部替换,可以接第3个参数
name = "zhangbichen"
print(name.replace("h","H",1))
只替换一次
执行输出 zHangbichen
从左向右查找关键字最后一次出现的位置
name = "zhangbichen"
print(name.rfind("h"))
执行输出 8
按照分隔符拆分成列表,这个比较常用
默认是按照空格拆分
name = "zhang bi chen"
print(name.split())
执行输出
['zhang', 'bi', 'chen']
提取数字部分
name = "1+2+3+4"
print(name.split("+"))
执行输出
['1', '2', '3', '4']
按照换行符拆分字符串,这个比较常用
name = "1+2\n+3+4"
print(name.splitlines())
执行输出
['1+2', '+3+4']
swapcase() 方法用于对字符串的大小写字母进行转换。
name = "ZhangBiChen"
print(name.swapcase())
大写字母统一转换为小写
小写字母统一转换为大写
执行输出 zHANGbIcHEN
zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
name = "ZhangBiChen"
print(name.zfill(20))
执行输出 000000000ZhangBiChen