字符串基本操作符
操作符 | 描述 |
---|
str1 + str2 | 连接两个字符串str1与str2 |
str1 * n | 复制n次字符串str1 |
str1 in str2 | 如果str1 是str2的子串,返回True,则返回False |
>>> str1 = 'aaa'
>>> str2 = 'bbb'
>>> str = str1 + str2
>>> print(str)
aaabbb
>>> str1 = 'aaa'
>>> n = 3
>>> str = str1 * n
>>> print(str)
aaaaaaaaa
>>> str1 = 'aa'
>>> str2 = 'aaaa'
>>> str1 in str2
True
内置函数处理字符串
函数 | 描述 |
---|
len(x) | 返回字符串长度 |
str(x) | 将其他数据类型转换为字符串型 |
chr(x) | 返回Unicode编码 x对应的字符 |
ord(x) | 返回字符x对应的Unicode编码 |
>>> x = 'aaaaa'
>>> len(x)
5
>>> x = 123
>>> type(x)
<class 'int'>
>>> y = str(x)
>>> type(y)
<class 'str'>
>>> chr(65)
'A'
>>> ord('a')
97
字符串自带方法
方法 | 描述 |
---|
str.lower() | 返回字符串,字符全部为小写 |
str.upper() | 返回字符串 ,字符全部为大写 |
str.split(x) | 返回列表,根据x进行分割字符串 |
str.count(x) | 返回x字符出现的次数 |
str.replace(old, new) | 将old字符串替换成new字符串 |
str.center(width, fillchar) | 字符串居中,width字符串宽度,fillchar不足宽度时填充的字符 |
str.strip(x) | 将字符串两侧的x字符去出 |
str.join(x) | 将iter变量除最后一个元素,其他元素后增加一个x字符串 |
>>> str = 'AAAA'
>>> str.lower()
'aaaa'
>>> str = 'aaa'
>>> str.upper()
'AAA'
>>> str = '1,2,f,5,h'
>>> str.split(',')
['1', '2', 'f', '5', 'h']
>>> str = 'aaaaaa'
>>> str.count('a')
6
>>> str = '1,2,e,4,g,'
>>> str.replace(',','#')
'1#2#e#4#g#'
>>> str = 'asd'
>>> str.center(10,'@')
'@@@asd@@@@'
>>> str = '#dfdg#dfd#'
>>> str.strip('#')
'dfdg#dfd'
>>> str = '#'
>>> l = ['as','sf','jkl']
>>> print(str.join(l))
as
字符串切边、索引、格式化
索引
<字符串>[N]
N:下标
从下标获取字符,下标都是从0开始
>>> str = 'adfag'
>>> str[3]
'a'
切边
<字符串>[N:M:K]
N:从N下标开始,包括N下标
M:到M下标为止,不包括M下标
K:步长(取值的间隔)
>>> str = 'adsfg'
>>> str[1:2:1]
'd'
>>> str[0:3:2]
'as'
format格式化
<字符串>.format(格式)
: | <填充 > | <对齐> | <宽度 > | <,> | <精度> | <类型> |
---|
引导符号 | 用于填充单个字符 | < 左对齐 >右对齐 ^居中对齐 | 设定宽度 | 数字的千位分隔符 | 浮点数小数部分的精度 | 整数类型:b,c,d,o,x,X 浮点数类型:e,E,f,% |
>>> '{:*>10.2f}'.format(31.6985)
'*****31.70'
>>> '{:*>20,.2f}'.format(10000000.6985)
'*******10,000,000.70'
>>> '{:*<20}'.format('你好')
'你好******************'
>>> '{:*^20}'.format('你好')
'*********你好*********'
>>> '{:*^20b}'.format(56)
'*******111000*******'
>>> '{:*^20o}'.format(56)
'*********70*********'
>>> '{:*^20x}'.format(12052)
'********2f14********'