my_list = ['1我是1\r2', '2\n\r2我是\s\r我是2', '3\s\n3\n\s3']
# 如果元素中出现中文或空格、制表符、换页符等,则删除转义符或中文并分割,结果如下
my_result = [['1', '1', '2'], ['2', '2', '2'], ['3', '3', '3']]
# 按pattern分割并删除
pattern = r'[\u4e00-\u9fa5\s]+'
list_1 = [re.split(pattern, i) for i in my_list] # [['1', '1', '2'], ['2', '2', '\\s', '2'], ['3\\s', '3', '\\s3']]
# 本来上一步已经结束了, 但是不知道为什么/s没有处理干净,需要以下两步:
# 删除元素/s
list_2 = [[j for j in i if j != r'\s'] for i in list_1]
# 删除元素中的/s
# re.sub('\\s')也删不掉, 但是str.replace 和 re.sub(r'\\s') 可以
[[j.replace('\\s', '') for j in i] for i in list_2]
[[re.sub(r'\\s', '', j) for j in i] for i in list_2]
标签:中文,sub,删除,re,pattern,list,换页,制表符,my
From: https://blog.51cto.com/u_16055028/7471739