python学习 字符串函数
字符串不能被改变,以下和函数,只是
原字符串初始化后不能改变,函数只是将改变后的值返回赋给新的变量(当然可以赋给原来的变量)
大小写函数
capitalize()函数 大写首字母
casefold()函数 返回值为 将字符串全部变成小写
title()函数 将字符串中的单词首字母全部大写,其他小写
upper()函数 将全部字母大写
lower ()函数 将全部字母小写 (可以是各种语言,不止英语)
填充函数
center(x)函数 在x的宽度下,将字符串居中,小于字符出啊长度,则,保持原来不变
ljust(x)函数 在 x的宽度下,将字符串左对齐 小于字符出啊长度,则,保持原来不变
rjust(x)函数 在 x的宽度下,将字符串右对齐 小于字符出啊长度,则,保持原来不变
这三个函数还支持,第二个参数(字符串类型),即填充内容,默认空格,可以通过第二个参数修改
a='dawn'
a.rjust(15,'6')
print(a)
zfill(x)函数,在 x的宽度下,将字符串右对齐,并用0填充左侧空白 小于字符出啊长度,则,保持原来不变(如果有负号,会保留负号)
查找个数
count(x,[start,[stop]])函数 查找x的个数 ,在 start 到 stop中
查找索引值
find(x,[start,[stop]])函数 查找x的索引值,在 start 到 stop 间 ,从左往右
rfind(x,[start,[stop]])函数 查找x的索引值,在 start 到 stop 间 ,从右往左
index(x,[start,[stop]])函数 查找x的索引值,在 start 到 stop 间 ,从左往右
rindex(x,[start,[stop]])函数 查找x的索引值,在 start 到 stop 间 ,从右往左
两种区别:
find没找到的时候 返回-1
index没找到的时候 会出现异常
查找字符
startswith(x ,[start, [stop]]) 查找首字符是否为 x, 在 start 到stop 中
endswith(x ,[start, [stop]]) 查找尾字符是否为 x,在 start 到stop 中
其中x可以是元组
a='dawn'
a.startswith(('d','D'))
istitle() 查找字符串中是否所有单词开头为大写,其余都为小写
isupper() 查找字符串是否全为大写
islower() 查找字符串是否全为小写
a='dawn'
a.upper.isupper#Ture
代码从左到右执行
**isalpha()**判断字符串是否全是字母
isspace() 判断是否是空白字符
' \t \n \r \r\n'.isspace()
isprintable() 判断是否全为可打印(转印字符不可打印,空格可打印)
isdecimal():是否为十进制数字符,包括Unicode数字、双字节全角数字,不包括罗马数字、汉字数字、小数;
isdigit():是否为数字字符,包括Unicode数字,单字节数字,双字节全角数字,不包括汉字数字,罗马数字、小数
isnumeric():是否所有字符均为数值字符,包括Unicode数字、双字节全角数字、罗马数字、汉字数字,不包括小数。
isidentifier() 判断变量名是否有用
替换
expandtabs(x) 将制表符 替换成x个空格
a=''' table
\ttable'''
a=a.expandtabs(10)
print(a)
replace(a, b) 将字符串的a替换成b
a='dawn'
a=a.replace('n','n_zs')
print(a)
translate( table )函数
str.maketrans(a , b , c)函数 指定一个表格,将第一个参数与第二个参数中,相同位置的字符相对应, 第三个参数 字符串中需要丢弃的字符
table=str.maketrans('ABCDEFG','1234567')
a='DAWN'
a=a.translate(table)
print(a)
删减函数
lstrip() 减去字符串左侧的空白
rstrip() 去除字符串右侧的空白
stip() 去除字符串左右两侧的空白
当然这三个函数可以填参数,默认是空格,可填需要删除的字符
a='DAWN'
a.strip('DN')
其实是将”D" “N”,去除 ,而不是取除“DN”
removeprefix(x) 去除前缀 指定字符串 x
removesuffix(x) 去除后缀 指定字符串 x
拆分,拼接字符串函数
partition(x) 从左往右,以字符串中的 x 元素为拆分点 将字符串 拆分
rpartition(x) 从右往左,以字符串中的 x 元素为拆分点 将字符串 拆分
a='www.dawn_zs.com'
a.partition('.')
a.rpartition('.')
split(a,b)函数
rsplit(a,b)函数
第一个参数 为分割 字符 不填为空格
第二个参数为 分割次数
a='www.dawn_zs.com'
a.split('.',1)
a.rsplit('.',1)
splitlines() 分割符为 \n ,\r \r\n
参数 Ture \n ,\r \r\n保留在前一个字符串
False \n ,\r \r\n不保留
默认为False
a='www\ndawn_zs\rcom\r\nwww\tdawn_zs com'
a.splitlines()
a.splitlines(True)
对\t 和空格 没用
join()函数
‘.’ 和’_'为分割符 join的参数可以放在列表或者元组中
'_'.join(['www','dawn','com'])
'.'.join(('www','dawn','com'))
join()函数比直接 加号 拼接 效率更高,速度更快
格式化字符串的方法
关键字
索引值
位置
’ ^ ’ 字符串居中
’<’ 字符串左对齐
’>’ 字符串右对齐
‘=’ 强制将填充字符放在符号之后,但在数字之前
’ : ’ 前面可以填索引值或者关键字
old=17
print('dwan今年{:^15}岁'.format(old))
print('dwan今年{:<15}岁'.format(old))
print('dwan今年{:>15}岁'.format(old))
print('dwan今年{:0=15}岁'.format(old))
chr(x) 返回对应字符 x为对应数字
ord(x) 返回对应 十进制数字