对于复杂的字符串,比如本例所给的s = ‘This, module ; \t provides|| regular ; ’ 用str原生的split函数比较难提取里面的英文单词,这个时候,就需要正则表达式出马来剔除那些烦人的特殊符号了。
我们用正则表达式delimiter = r’[,\s;|]+'来作为字符串的分隔符,注意[]中括号把可能出现的特殊字符都包括在了里面,然后用+表示一个或者多个这样的字符,要注意的是,\t这个符号可以看成是4个\s(\s表示空格),这样就不需要写进方括号里面。
洗后我们使用re.split(delimiter,s)这个方法来进行字符串的拆分,注意delimiter和s作为第一和第二个参数被传入到这个方法的括号中。
我们运行以下代码:
import re
s = 'This,,, module ; \t provides|| regular ; '
print(s)
delimiter = r'[,\s;|]+'
ssl = re.split(delimiter,s)
print(ssl)
可以得到以下结果:
This,,, module ; provides|| regular ;
['This', 'module', 'provides', 'regular', '']
[Finished in 0.6s]