字符串常用功能:
- 移除空白
- strip() #移除所有空白
- lstrip() #移除左空白
- rstrip() #移除右空白
- 分割
- s.split("sep")) #以sep分割,返回列表,不包括sep
- s.rsplit("sep") #从右边查找
- s.partition(self,sep) #以sep为分割,将s分成,head,sep,tail,三个部分
- s.rpartition(self,sep) #从右边查找
- splitlines(self,keepends =None) #返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如 果为 True,则保留换行符。
- 长度
s.len() - 索引
s[1] - 切片
s[::-1] #倒序显示 - 增加
#对序列进行操作(分别使用' '与':'作为分隔符) >>> seq1 = ['hello','good','boy','doiido'] >>> print ' '.join(seq1) hello good boy doiido >>> print ':'.join(seq1) hello:good:boy:doiido #对字符串进行操作 >>> seq2 = "hello good boy doiido" >>> print ':'.join(seq2) h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o #对元组进行操作 >>> seq3 = ('hello','good','boy','doiido') >>> print ':'.join(seq3) hello:good:boy:doiido #对字典进行操作 >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4} >>> print ':'.join(seq4) boy:good:doiido:hello #合并目录 >>> import os >>> os.path.join('/hello/','good/boy/','doiido') '/hello/good/boy/doiido'
- 查找
- s.find() #查找字符不存在,返回-1
- s.index() #查找字符不存在,直接报错
- s.rfind() #从右边查找
- s.rindex() #从右边查找
- 替换
s.replace("待替换字符“,”替换字符”) - 编码解码
s.encode(encoding = "utf-8") 编码
s.decode(") 解码 - 从一个范围内统计str次数
s.count(self,sub,start =None,end =None) - 以什么开始,结尾
- s.startswith(self,suffix,start =None,end =None) #是否(在指定范围)以suffix开始,是返回True
- s.endwith(self,suffix,start =None,end =None) #是否(在指定范围)以suffix结尾,是返回True
- 将字符串中包含的\t转换成tabsize个空格
s.expandtabs(self, tabsize=8) - 格式化输出
- print('{0}{1}{0}'.fo rmat('a','b'))
- print('{}{}{ }'.format('a','b'))
- print('{name} {age}'.format(age=12,name='lhf'))
S.format(*args, **kwargs)
- 是否判断类
- isinstance(a,typ) #判断变量a是否为typ所表示的类型,是则返回True
- s.isalnum(self) or s.isalpha(self) #至少一个字符,且都是字母或数字才返回True
- s.isdecimal(self) #如果s中只有十进制字符,返回True,否则错误。
-
s.isdigit(self) #是否全是数字
-
s.isidentifier(self) #字符串为关键字返回True
-
s.islower() #至少一个字符,且都是小写字母才返回True
- s.isnumeric(self) #如果S中只有数字字符,则返回True,
- s.issprintable() #字符是可打印的和空的,则返回false ,如“\n”之类的返回false
- s.isspace() # 至少一个字符,且都是空格才返回True(至少一个空格)
- s.istitle() #是否首字母大写(标题格式)
- s.isupper() #是否是大写
- 对齐
- s.ljust(长度,填充物) #左对齐,可填充固定长度字符
- s.rjust(长度,填充物) #右对齐,可填充固定长度字符
- s.center(self,width,fiilchar =None) #剧中对齐,可填充固定长度字符
- s.zfiil(width) #原来字符右对齐,不够用0补齐
- 大小写转换
- s.capitalize() #首字母大写,其余字母全变小写
- s.lower() #得到所有字母转换成小写字母的副本
- s.upper() #得到所有字母转换成大写字母的副本
- s.swapcase() #大小写反转
- s.title() #将每个单词首字母大写(标题格式) 其余字母全变小写
- 明文转换
- maketrans(self, *args, **kwargs) 设置对应关系表
- s.translate(self,table)
- str_in = "abcdef"
- str_out = "123456"
- table = str.maketrans(str_in,str_out) >>>{97: 49, 98: 50, 99: 51, 100: 52, 101: 53, 102: 54} #对应关系表
- s = "hello world"
- s.translate(table) >>>s = "h5llo worl4"