python拆分含有多个分隔符的字符串(split()&re)
def split_demo1(s,sign_l):
# use python-->split()
result=[s]
for i in sign_l:
t=[]
list(map(lambda x: t.extend(x.split(i)),result))
result = t
print(result)
def split_demo1_pro(s,sign_l):
# upgrade split_demo1
result=[s]
for i in sign_l:
t=[]
list(map(lambda x: t.extend(x.split(i)),result))
result = t
result = [i for i in result if i != '']
print(result)
def split_demo1_final(s,sign_l):
# use regular expression ->split()
import re
result=re.split('['+sign_l+']+',s)
print(result)
if __name__=='__main__':
s='1,2.3;4,5'
sign_l=',.;'
split_demo1(s,sign_l)
#split_demo1中存在设计缺陷,如果有两个分隔符放在了一起,得到的数组会存在空值
s='1,2.3;4,.5'
split_demo1(s,sign_l)
# 将split_demo1 升级为 split_demo1_pro
split_demo1_pro(s,sign_l)
# 最优策略 使用正则表达式
split_demo1_final(s,sign_l)