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)
  

(c)2006-2024 SYSTEM All Rights Reserved IT常识