python 字符串操作

判断是否为字符串

  python使用isinstance(s,basestring)判断一个对象是否为字符串

字符串去掉双引号

1 a = "'string'"
2 print(a, type(a))
3 b = eval(a)
4 print(b, type(b))
5 
6 结果:
7 'string' <class 'str'>
8 string <class 'str'>

 

基本操作

  性质判定

1 s = 'string'
2 s.isalnum()  # 所有字符都是数字或者字母,为真返回Ture,否则返回False
3 s.isalpha()  # 所有字符都是字母,为真返回True...
4 s.isdigit()  # 所有字符都是数字,为真返回True...
5 s.islower()  # 所有字符都是小写,为真返回True...
6 s.isupper()  # 所有字符都是大写,为真返回True...
7 s.istitle()  # 所有字符首字母是大写,为真返回True...
8 s.isspace()  # 所有字符都是空白字符,为真返回True...

查找与替换

  

1 replace(old,new[,count]):用来替换字符串的某些子串,用new替换old。如果指定count参数话,就最多替换count次,如果不指定,就全部替换
1 s = 'string'
2 b = '123'
3 c = b.replace('1', s)
4 print(b)
5 print(c)
6 
7 结果:
8 123
9 string23

分割

1 partition(sep):用来根据指定的分隔符将字符串进行分割,如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。如果sep没有出现在字符串中,则返回值为(sep,",")。
2 s = 'string'
3 b = s.partition('t')
4 print(b)
5 
6 结果:
7 ('s', 't', 'ring')
1 split(sep[,maxsplit]]):通过指定分隔符对字符串进行切片,如果参数maxsplit 有指定值,则仅分隔 maxsplit 个子字符串,返回分割后的字符串列表。
2 s = 'string'
3 b = s.split('t')
4 print(b)
5 
6 结果:
7 ['s', 'ring']

拼接

 1 # '+'号拼接
 2 a = '123'
 3 b = '456'
 4 print(a+b)
 5 # 占位符拼接
 6 print('my name is %s' % '张三')
 7 # .format()拼接
 8 print('my name is {name}'.format(name='李四'))
 9 # .join()拼接,将字符串,元组,列表中的元素以指定的字符连接成一个新的字符串
10 c = ('123','456')
11 print('+'.join(c))
12 
13 结果:
14 123456
15 my name is 张三
16 my name is 李四
17 123+456

变形

1 lower():转换字符串中所有大写字符为小写。
2 upper():将字符串中的小写字母转为大写字母。
3 capitalize():将字符串的第一个字母变成大写,其他字母变小写。对于 8 位字节编码需要根据本地环境。
4 swapcase():用于对字符串的大小写字母进行转换,大写转小写,小写转大写。
5 title():返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。

删减与填充

1 strip([chars]):用于移除字符串头尾指定的字符(默认为空格),如果有多个就会删除多个。
2 ltrip([chars]):用于截掉字符串左边的空格或指定字符。
3 rtrip([chars]):用于截掉字符串右边的空格或指定字符。
4 center(width[,fillchar]):返回一个原字符串居中,并使用fillchar填充至长度 width 的新字符串。默认填充字符为空格
5 ljust(width[,fillchar]):返回一个原字符串左对齐,并使用fillchar填充至指定长度的新字符串,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。
6 rjust(width[,fillchar]):返回一个原字符串右对齐,并使用fillchar填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
7 zfill(width):返回指定长度的字符串,原字符串右对齐,前面填充0
8 expandtabs([tabsize]):把字符串中的 tab 符号('\t')转为适当数量的空格,默认情况下是转换为8个。

 

字符串切片

  同列表切片

字符串格式化

  用法:它通过 {} 和 :  代替传统的 % 方法

  1.使用关键字参数 

1 d = {'name': '张三', 'age': '18'}
2 a = 'my name is {name},age is {age}'.format(name='zhangsan', age=19)
3 print(a)
4 b = 'my name is {name},age is {age}'.format(**d)
5 print(b)
6 
7 结果:
8 my name is zhangsan,age is 19
9 my name is 张三,age is 18

  2.使用位置参数 

 1 d = ['张三', 18]
 2 a = 'my name is {},age is {}'.format('zhangsan', 19)
 3 print(a)
 4 b = 'my name is {1},age is {0}'.format(10, 'lisi')
 5 print(b)
 6 c = 'my name is {},age is {}'.format(*d)
 7 print(c)
 8 
 9 结果:
10 my name is zhangsan,age is 19
11 my name is lisi,age is 10
12 my name is 张三,age is 18

  3.使用索引

1 d = ['张三', 18]
2 a = 'my name is {0[0]},age is {0[1]}'.format(d)
3 print(a)
4 
5 结果:
6 my name is 张三,age is 18

 

posted @ 2020-10-11 16:52  IsUnruly、  阅读(125)  评论(0)    收藏  举报