后浪小萌新Python --- 字符串常用方法

一、center\rjust\ljust

限制长度,长度不足,填充指定字符

举例:

print('abc'.center(7, 'x'))    
print('abc'.ljust(7, '+'))      
print('abc'.rjust(7, '*'))      

运行结果:

xxabcxx
abc++++
****abc

zfill == rjust填充字符是固定0

举例:

print('abc'.zfill(7))

运行结果:

0000abc

二、count

统计个数

举例:

message = 'how are you? i am fine. and you?'
print(message.count('a'))   # 统计字符串message中字符a出现的次数
print(message.count('you')) 
print(message.count('a', 0, 10))    # 在下标09的范围内统计 'a' 的次数

运行结果:

3
2
1

三、index/find

查找子串的位置

举例:

扫描二维码关注公众号,回复: 11514534 查看本文章
message = 'how are you? i am fine. and you?'
print(message.index('you'))  # 8
print(message.find('you'))   # 8

# print(message.index('you+'))  # 没有的时候, 报错! ValueError: substring not found
print(message.find('you+'))     # 没有的时候, 不会报错, 返回-1

运行结果:

8
8
-1

注: index中,没有指定字符串时,报错! ValueError: substring not found
        find中,没有指定字符串时, 不会报错, 返回-1

四、join

字符串.join(序列) - 将序列中的元素用指定字符串拼成一个新的字符串(序列中的元素都是字符串)

举例:

list1 = ['name', 'age', 'sex']
print(''.join(list1)) 
print(' '.join(list1))  
print('abc'.join(list1))    
print('+'.join('abc')) 
print('='.join({'a': 10,'b': 20}))  

运行结果:

nameagesex
name age sex
nameabcageabcsex
a+b+c
a=b

五、lstrip/rstrip/strip

删除空白(空白:空格、回车、Tab键)

message = '\n\t abc \t 123'
print('=====')
print('原字符串', message,'----')
print('=====')
new1 = message.lstrip()
print('lstrip', new1,'-----', sep='')
print('=====')
new2 = message.rstrip()
print('lstrip', new2, '-----', sep='')
print('=====')
new3 = message.strip()
print('strip', new3, '-----', sep='')

message = 'aaaa你好吗aaaaaa'
print(message.lstrip('a'))

运行结果:

=====
原字符串 
	 abc 	 123 ----
=====
lstripabc 	 123-----
=====
lstrip
	 abc 	 123-----
=====
stripabc 	 123-----
你好吗aaaaaa

六、maketrans和translate

举例:

table = str.maketrans('ab', '12')   # 创建映射表: a-1, b-2, c-好
new_str1 = 'abc'.translate(table)   # 按照指定的映射表将原字符串中的字符进行替换
print(new_str1) # 12c

运行结果:

12c

七、replace

字符串1.replace(字符串2, 字符串3) - 将字符串1中字符串2全部替换成字符串3

举例:

message = 'how are you? i am fine. and you?'
new_str2 = message.replace('you', 'me')
print(new_str2) # how are me? i am fine. and me?

new_str2 = message.replace('you', 'me', 1)  # 1是替换次数

运行结果:

how are me? i am fine. and me?

八、split

字符串1.split(字符串2) - 将字符串2作为切割点对字符串进行分隔

注:返回的是列表

举例:

message = 'how are you? i am fine. and you?'
print(message.split(' '))

运行结果:

['how', 'are', 'you?', 'i', 'am', 'fine.', 'and', 'you?']

猜你喜欢

转载自blog.csdn.net/qq_26209771/article/details/107695751