python3 str 对象的基本操作
大小写变化
:black_flag:capitalize()
:首字母大写,返回一个相对应的改变后的字符串
:black_flag::casefold()
: lower()
所有字符改为小写 对应upper()
改为大写
:black_flag: swapcase()
: 大小写翻转
title()
以标题形式返回
>>> 'i love u'.title()
'I Love U'
位置变化
:black_flag:center(width, fillchar)
:返回一个指定宽度居中的字符串,fillchar为填充字符,默认为空格
:black_flag:ljust()
左对齐,并以空格填充剩余长度
rjust()
右对齐,并以空格填充剩余长度
zfill
右对齐以以0填充
:black_flag:count(str, beg = 0, end = len(string))
:返回str在string中出现的次数,若beg,end指定则返回指定区间的次数
编码
:black_flag:bytes.decode(encoding='utf-8', errors=strict'') encode()
:
参数:
encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能的值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
起始位置判断
:black_flag: endswith(suffix, beg=0, end=len(string))
: 在指定区间检查字符串是否以obj结束
:black_flag:startwith()
:于其上类似,判断str是否以子串开始
查找
:black_flag:find(str,beg=0, end=len(string))
:index(str,[,beg=0[,end=len(string)]])
:在指定区间查找字符串,含有则返回开始的索引,若未找 到则返回-1
rfind(str,[,beg=0[,end=len(string)]])
:从右边开始查找,返回最右边的第一个子串
判断属性
str2 = 'xi324#'
a = str2.isalnum() #是否是alpha和num的组合(字母+数字的组合)
b = str2.isalpha() #是否是alpha(字母)
c = str2.isnumeric() #是否是numeric(数字)
str2.isdecimal() #只包含十进制的数,返回True
str2.isdigit() #是否包含数字,哪怕只包含一个数字也可以
str2.islower()#是否都是小写
str2.isupper()#是否都是大写
str2.isspace()#只包含空格
str2.istitle() #是否每个单词都是首字母大写,符合标题的形式
print(a,b,c)
join连接分隔符
join函数将字符串作为分隔符插入到另一个字符串中
>>> 'scd'.join('|||')
'|scd|scd|'
str分割为序列
split(str='', num=string.count(str))
分割符是必须参数,以sep分割,返回一个列表
partition(mid)
: 转化为一个三元组,必须参数为中间元素
rpartition()
从右边开始转化为三元组
>>> f.split('v')
['', 's', 'fs', 'fs', '']
>>> 'hgvdgvbhvhj'.split('v')
['hg', 'dg', 'bh', 'hj']
>>> 'cdscsdc'.partition('scs')
('cd', 'scs', 'dc')
>>> 'cdscsdc'.rpartition('sc')
('cd', 'sc', 'sdc')
split() 可以指定分割次数
>>> str.split(' ', 1)
['I', 'am very glad \nto view\n it']
>>> str.split('\n', 1)
['I am very glad ', 'to view\n it']
>>> str.split('\n', )
['I am very glad ', 'to view', ' it']
>>> df = 'dvsd;dvsdvsd\'vdvds\r'
引入re 模块,可以使用多个分隔符
>>> re.split(',|;|\'|\r', df)
['dvsd', 'dvsdvsd', 'vdvds', '']
子串替换
replace(sub, des)
:
>>> 'i love u'.replace('love', 'hate')
'i hate u'
str剪切
lstrip() rstrip() strip(char='', num = string.count(str))
默认去除空格,可以指定字符
>>> 'ikok'.lstrip('i')
'kok'
>>> 'fvbd'.rstrip('bd')
'fv'
>>> ' vdsvds '.strip()
'vdsvds'
Last updated
Was this helpful?