可能重复: Python:用多个分隔符拆分字符串
我有一个程序,在该程序中,我将按每一行解析一个文件,并将其分成两部分。在此之后,我将对行中的每个单词进行解析,并将其添加到列表中。
这里,mfcList1是文本文件中的一行列表。我正在解析行中的每个单词,它们要么用逗号隔开,要么用空格隔开。但这不太管用。
for lines in mfcList1:
lines = lines.lstrip()
if lines!='':
p.append(string.split(lines,','or " "))
mfcList2 = reduce(lambda x,y:x+y,p)
print mfcList2当我使用string.split时,它只处理那些以逗号结尾的元素,它忽略了我用拆分方法使用的或运算符。我想把每一个字都切掉。它们要么以逗号结尾,要么以空格结尾。
就像。'enableEmergencySpare=1 useGlobalSparesForEmergency=1 useUnconfGoodForEmergency=1',
这一行存储为一个列表元素,当我试图使用拆分方法拆分它们时。
有谁能建议我能做些什么而不是使用或操作.谢谢..。
发布于 2012-01-12 19:46:59
您可以从split()模块中使用re:
import re
...
p.extend(re.split('[ ,]', lines))[ ,]是一个正则表达式,意思是“空格或逗号”。另外,假设p是一个列表,并且您想要向它添加所有的单词,那么您应该使用extend()而不是append(),后者添加了一个元素。
还请注意,如果文件中的一行包含命令,后面跟着空格(或其他逗号和空格序列),则列表p将包含相应数量的空字符串。
https://stackoverflow.com/questions/8841263
复制相似问题