【发布时间】:2017-07-27 21:47:31
【问题描述】:
我想将给定的字符串拆分为字母、数字和特殊字符。 拆分后,这些必须分别替换为另一个字母,数字和特殊字符。
例如abc123wer@xyz.com 是给定的字符串。然后
拆分输出:['abc','123','wer','@','xyz','.','com']
应该从包含一些字母、数字和特殊字符的文件中进行替换。
替换输出:['xyz','231','etr','$','pou','#','fin']
【问题讨论】:
我想将给定的字符串拆分为字母、数字和特殊字符。 拆分后,这些必须分别替换为另一个字母,数字和特殊字符。
例如abc123wer@xyz.com 是给定的字符串。然后
拆分输出:['abc','123','wer','@','xyz','.','com']
应该从包含一些字母、数字和特殊字符的文件中进行替换。
替换输出:['xyz','231','etr','$','pou','#','fin']
【问题讨论】:
拆分字符串的一个选项是使用带有re 模块的正则表达式来匹配字母 [a-zA-Z]+、数字 [0-9]+ 和非字母数字 [^a-zA-Z0-9]+ 分别为:
import re
re.findall("[a-zA-Z]+|[0-9]+|[^a-zA-Z0-9]+", s)
# ['abc', '123', 'wer', '@', 'xyz', '.', 'com']
【讨论】:
code: for x in re.findall('([a-zA-Z]+|\\d+|\W+)',string): myList.insert(i, x) # print(myList[i])