python字符串操作

1. Python自带的split函数只能指定一个分割符,需要使用多个分割符时,可以使用re.split()。

 str.split(separator, maxsplit)

注意这里的第二个参数, 当设置了maxsplit=2时,最多只会分隔两次,也就是生成3个组

import re
text = '你好!吃早饭了吗?再见。'
print(text.split('!'))  # ['你好', '吃早饭了吗?再见。']
print(text.split('。|!|?'))  # ['你好!吃早饭了吗?再见。']
print(re.split('。|!|?', text))  # ['你好', '吃早饭了吗', '再见', '']

2.其他操作

(1)index() 在str中返回第一个匹配的到的位置,如果匹配不到返回ValueError 

(2)find() 在str中返回第一个匹配的到的位置,匹配不到返回-1。 

(3)rfind() 与find类似,不过是从右侧开始匹配

print('a,b,c,d,e'.split(','))  # ['a', 'b', 'c', 'd', 'e']
print('a,b,c,d,e'.split(',', maxsplit=2))  # ['a', 'b', 'c,d,e']

string = 'abcab'
print(string.find('ab'))  # 0
print(string.rfind('ab'))  # 3
print(string.index('ab'))  # 0
print(string.find('ac'))  # -1
print(string.rfind('ac'))  # -1
print(string.index('ac'))  # ValueError: substring not found

str.split(separator, maxsplit) 注意这里的第二个参数, 当设置了maxsplit=2时,最多只会分隔两次,也就是生成3个组

3.filter 过滤出不是过滤掉

filter只保留为True的,过滤为False的

a = filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5])  # [2, 4]
for i in a:
    print(i)

  运行结果:

2

4

4.python列表步进

print([1, 2, 3, 4, 5, 6, 7][1:5:2])  #  [2, 4] 1<= <5 左闭右开

  

 

posted @ 2020-12-22 15:19  GumpYan  阅读(85)  评论(0编辑  收藏  举报