python字符串
python学习
字符串处理方法
1.大小写转换
| 函数 | 作用 | 
|---|---|
| str.lower() | 全小写 | 
| str.upper() | 全大写 | 
| str.capitalize() | 第一个字符大写 | 
| str.swapcase() | 大写转小写,小写转大写 | 
2.str.split()
能够使字符串以一种格式分割开,并返回一个分割完成的列表。
3.str.count(x,beg,end)
返回某个字符x出现的次数,beg和end分别可填所数区间的索引,不填默认整个字符串。
4.str.replace(old,new)
替换字符串内容。
5.str.center(width,[fillchar])
使字符串居中,用其他字符填充。
6.str.strip(chars)
去掉字符串左右的chars字符。
7." "join(iter)
在iter中除最后一个字符外的字符后添加""里的内容。
8.str.strip()和str.rstrip(),str.lstrip
分别是删除开头和末尾多余的空白,右边的空白,左边的空白。
9.str.endswith(x,beg,end)和str.startswith(x,beg,end)
检查字符是否以x为结尾或开头,是返回True,不是返回False.
10.str.find(x, beg, end和str.rfind(x, beg,end)
检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含,返回开始的索引值,否则返回 -1。rfind从右边开始查。
11.str.isnumeric
判断是否全为数字,是返回True,否则False。
12.str.ljust(width,fillchar)和str.rjust(width,fillchar)
设置宽度,分别左对齐,右对齐,用fillchar进行填充。
13.str.partition(char)和str.rpartition(char)
如下:
l = "I wander in  in earth"
print(l.partition('in'))
print(l.rpartition('in'))
#('I wander ', 'in', '  in earth')
#('I wander in  ', 'in', ' earth')
14.str.maketrans(intab,outtab)和str.translate(table)
创建一个字符映射的转换表,即使outtab中的每个字符分别与intab中的每个字符一一对应,再配合translate()函数进行转换。如下
str7 = 'this is string example....wow!!!'
intab = 'aeiou'
outtab = '12345'
trantab = str7.maketrans(intab, outtab)
print(trantab)  # {97: 49, 111: 52, 117: 53, 101: 50, 105: 51}
print(str7.translate(trantab))  # th3s 3s str3ng 2x1mpl2....w4w!!!
注意:这些方法的实现需要将其赋值给一个变量否则无法实现。
字符串的格式化
字符串的格式化有多种方法
1.%格式化
语法:print("符号" % 输出数据)
| 符 号 | 描述 | 
|---|---|
| %c | 格式化字符及其ASCII码 | 
| %s | 格式化字符串,用str()方法处理对象 | 
| %r | 格式化字符串,用rper()方法处理对象 | 
| %d | 格式化整数 | 
| %o | 格式化无符号八进制数 | 
| %x | 格式化无符号十六进制数 | 
| %X | 格式化无符号十六进制数(大写) | 
| %f | 格式化浮点数字,可指定小数点后的精度 | 
| %e | 用科学计数法格式化浮点数 | 
| %E | 作用同%e,用科学计数法格式化浮点数 | 
| %g | 根据值的大小决定使用%f或%e | 
| %G | 作用同%g,根据值的大小决定使用%f或%E | 
如:
print("%d" % 1)
print("%f" % 0.1)
print("%s" % 'apple')
print("%d %s %c" % (12,'apple','a'))
#1
#0.100000
#apple
#12 apple a
其他辅助命令
| 符号 | 功能 | 
|---|---|
m.n | 
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) | 
- | 
用作左对齐 | 
+ | 
在正数前面显示加号( + ) | 
# | 
在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') | 
0 | 
显示的数字前面填充'0'而不是默认的空格 | 
如:
print('%5.1f' % 27.658)  # ' 27.7'
print('%.2e' % 27.658)  # 2.77e+01
print('%10d' % 10)  # '        10'
print('%-10d' % 10)  # '10        '
print('%+d' % 10)  # +10
print('%#o' % 10)  # 0o12
print('%#x' % 108)  # 0x6c
print('%010d' % 5)  # 0000000005
format方法
a = 1
b = 'asdasd'
print("{} {}".format(a,b))    #默认顺序
print("{0} {1}".format(a,b))  #位置填参数
print("{c} {d}".format(c=a,d=b))  #关键字参数
#1 asdasd
#1 asdasd
#1 asdasd
| 格式 | 输出 | 
|---|---|
{:m.nf} | 
设置宽度为m,保留n位小数,如果没有小数则不用.nf | 
{:+.nf} | 
带符号保留小数点后n位小数 | 
{:符号<n} | 
设置宽度为n向左对齐,剩下的以符号填充 | 
{:符号>n} | 
向右对齐 | 
{:符号^n} | 
居中对齐 | 
{:.n%} | 
百分号格式保留n位小数 | 
{:.ne}或{:.nE} | 
科学计数法保留n位小数 | 
{:o}或{:X} | 
八进制和十六进制 | 
一些示例:
a = 12
print("{:*<5}".format(a))
print("{:*>6.1f}".format(a))
print("{:.2%}".format(a))
print("{:*^3}".format(a))
print("{:0>5}".format(a))
print("{:05d}".format(a))
print("{:o}".format(a))
#12***
#**12.0
#1200.00%
#12*
#00012
#00012
#14
f-string形式
该方法为python3.6新添加的一种字符串格式化方法
示例:
a = 12
print(f'{a}')
print(f'{a:.2f}')
#12
#12.00
符号方法与format类似,相当于format的简化,只需在:前加上需要输出的数据。
切片与拼接
字符串同样支持切片操作
str[index:index]
如:
str1 = 'I Love LsgoGroup'
print(str1[:6])  # I Love
print(str1[5])  # e
print(str1[:6] + " 插入的字符串 " + str1[6:])  
# I Love 插入的字符串  LsgoGroup
                    
                
                
            
        
浙公网安备 33010602011771号