python-string方法
Posted lianyf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-string方法相关的知识,希望对你有一定的参考价值。
官方帮助文档地址:
https://docs.python.org/3.7/library/stdtypes.html#text-sequence-type-str
1. S.capitalize() -> str
将字符串首字母转换为大写 ,其余不变,返回字符串
str = \'fdffdj\'
str.capitalize()
\'Fdffdj\'
2. S.casefold() -> str
字符串转换为小写,返回字符串
str = \'FjDkfd\'
str.casefold()
\'fjdkfd\'
3. S.center(width[, fillchar]) -> str
指定长度填充,字符串居中,其余默认用空格填充,也可指定填充符
3.1 默认空格填充
str = \'fly\'
str.center(20)
\' fly \'
3.2 指定填充符
str.center(20,\'-\')
\'--------fly---------\'
4. S.count(sub[, start[, end]]) -> int
返回字符串sub在字符串s中的个数,start,end为指定查找的开始位置和结束位置,前开后闭区间
str = \'who i am,i am fly\'
str.count(\'i\')
2
str.count(\'i\',10)
0
str.count(\'i\',5)
1
5. S.encode(encoding=\'utf-8\', errors=\'strict\') -> bytes
以指定的编码格式解码字符串。默认编码为字符串编码(适合python2中处理中文)
6.S.endswith(suffix[, start[, end]]) -> bool
判断字符串是否以指定字符结尾,如果是返回True,反之,返回False
>>> str = \'Good\'
>>> str.endswith(\'r\')
False
>>> str.endswith(\'d\')
True
>>> str.endswith(\'D\')
False
7.S.find(sub[, start[, end]]) -> int
检测s字符串中是否包含子字符串sub,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串,则返回开始的索引值(下标,从0开始),否则返回-1。
>>> str = \'lilei is a good baby\' >>> str.find(\'o\') 12 >>> str.find(\'i\') 1 >>> str.find(\'j\') -1 >>> str.find(\'i\',2,10) 4 >>> str.find(\'oo\') 12
8.S.rfind(sub[, start[, end]])
与 find()
rfind()
类似,不同的是如果找不到,find返回最小index值,r返回最大index值。
>>> str = \'maliya is a good girl\'
>>> str.rfind(\'a\')
10
>>> str.rfind(\'oo\')
13
>>> str.rfind(\'s\')
8
>>> str.rfind(\'z\')
-1
9.S.index(sub[, start[, end]]) -> int
检测s字符串中是否包含子字符串sub,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串,则返回开始的索引值(下标,从0开始),否则报
ValueError。
>>> str = \'maliya is a good girl\'
>>> str.index(\'g\')
12
>>> str.index(\'a\')
1
>>> str.index(\'oo\')
13
>>> str.index(\'z\')
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: substring not found
10. S.rindex(sub[, start[, end]]) -> int
与 index()
rindex()
类似,区别是index()
返回最小index值,rindex()
返回最大index值。
find()/rfind()与index()/rindex()的区别是,find找不到返回-1,index报valueerror
>>> str = \'maliya is a good girl\'
>>> str.rindex(\'g\')
17
>>> str.rindex(\'a\')
10
>>> str.rindex(\'oo\')
13
>>> str.rindex(\'z\')
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: substring not found
11.S.format(*args, **kwargs) -> str
[[fill]align][sign][#][0][width][,][.precision][type]
- fill 【可选】空白处填充的字符
- align 【可选】对齐方式(需配合width使用)
- <,内容左对齐
- >,内容右对齐(默认)
- =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
- ^,内容居中
- sign 【可选】有无符号数字# 【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
- +,正号加正,负号加负;
- -,正号不变,负号加负;
- 空格 ,正号空格,负号加负;
- , 【可选】为数字添加分隔符,如:1,000,000
- width 【可选】格式化位所占宽度
- .precision 【可选】小数位保留精度
- type 【可选】格式化类型
- 传入” 字符串类型 “的参数
- s,格式化字符串类型数据
- 空白,未指定类型,则默认是None,同s
- 传入“ 整数类型 ”的参数
- b,将10进制整数自动转换成2进制表示然后格式化
- c,将10进制整数自动转换为其对应的unicode字符
- d,十进制整数
- o,将10进制整数自动转换成8进制表示然后格式化;
- x,将10进制整数自动转换成16进制表示然后格式化(小写x)
- X,将10进制整数自动转换成16进制表示然后格式化(大写X)
- 传入“ 浮点型或小数类型 ”的参数
- e, 转换为科学计数法(小写e)表示,然后格式化;
- E, 转换为科学计数法(大写E)表示,然后格式化;
- f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
- F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
- g, 自动在e和f中切换
- G, 自动在E和F中切换
- %,显示百分比(默认显示小数点后6位)
- 传入” 字符串类型 “的参数
常用格式化:
tpl
=
"i am {}, age {}, {}"
.
format
(
"seven"
,
18
,
\'alex\'
)
tpl
=
"i am {}, age {}, {}"
.
format
(
*
[
"seven"
,
18
,
\'alex\'
])
tpl
=
"i am {0}, age {1}, really {0}"
.
format
(
"seven"
,
18
)
tpl
=
"i am {0}, age {1}, really {0}"
.
format
(
*
[
"seven"
,
18
python-string.maketrans