【Python】【字符串】常用方法


字符串.center(宽度,填充字符)

——通过在两边添加填充字符(默认为空格)让字符串居中

>>> '居中'.center(12)
'     居中     '
>>> '居中'.center(12,'-')
'-----居中-----'

 

字符串.find(子串,起点,终点)

——在字符串中查找子串,可指定搜索范围。如果找到,则返回子串第一个字符的索引,否则返回-1

>>> 'ABCDEFG'.find('G')
6
>>> 'ABCDEFG'.find('GG')
-1
>>> 'ABCDEFG'.find('ABCD')
0
>>> 'ABCDEFG'.find('ABCD',0,2)
-1

'连接符'.join(序列名称)

——用于合并序列,转换为字符串

>>> date = ['2021年','7月','14日']
>>> ''.join(date)
'2021年7月14日'
>>> '-'.join(date)
'2021年-7月-14日'

如果序列中的元素为数字,则会报错

>>> date = [2021,7,14]
>>> '-'.join(date)
Traceback (most recent call last):
  File "<pyshell#23>", line 1, in <module>
    '-'.join(date)
TypeError: sequence item 0: expected str instance, int found

需要先把序列里的元素转换为str格式,如下

>>> date = [2021,7,14]
>>> "-".join('%s' %i for i in date)
'2021-7-14'

字符串.lower()

——将字符串转换为小写。可用于查询场景(不区分大小写字母),比较输入值和数据库值

>>> 'ABCDEFG'.lower()
'abcdefg'

字符串.replace('指定子串','替换字符串')

——将指定子串都替换为另一个字符串,并返回替换后的结果

>>> '我叫张三张三'.replace('张三','李四')
'我叫李四李四'

字符串.split('分隔符')

——用于将字符串拆分为序列,如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符等)处进行拆分

>>> 'a1, a2, a3, a4, a5,'.split()
['a1,', 'a2,', 'a3,', 'a4,', 'a5,']
>>> 'a1, a2, a3, a4, a5,'.split('a')
['', '1, ', '2, ', '3, ', '4, ', '5,']
>>> 'a1, a2, a3, a4, a5,'.split(',')
['a1', ' a2', ' a3', ' a4', ' a5', '']

字符串.strip('指定字符,可以为多个')

——用于删除字符串开头和末尾的空白(但不包含中间的空白),并返回删除后的结果。与lower一样,可用于查询比较

>>> '    123 11 11   '.strip()
'123 11 11'
>>> ' **-*-*-*现在是2021年-*7月-*14日-*-*& '.strip(' -*&')
'现在是2021年-*7月-*14日'

 

字符串.translate('转换表'),需要先创建转换表

——与replace一样可以替换字符串的特定部分,但不同的是它只能进行单字符替换,这个方法的优势在于能够同时替换多个字符,因此效率比replace高

>>> table = str.maketrans('abc','123')#a替换为1,b替换为2,c替换为3
>>> '步骤a,步骤a,步骤b,步骤c'.translate(table)
'步骤1,步骤1,步骤2,步骤3'

在创建转换表时,还可提供可选的第三参数,指定要将哪些字符删除

>>> table = str.maketrans('abc','123','步骤')
>>> '测试步骤a,测试步骤a,测试步骤b,测试步骤c'.translate(table)
'测试1,测试1,测试2,测试3'

判断字符串是否满足特定条件

——isspace,字符串是否全为空白,返回布尔值

——isdigit,字符串是否全为数字,返回布尔值

——issupper,字符串是否全为大写,返回布尔值


原文地址:https://www.cnblogs.com/12345zjl/p/15011374.html