如何在python

时间:2018-03-20 16:01:23

标签: python

我目前正在使用python,我有一个问题: 如果我们有一个由多个字符分隔的字符串,例如:

l = ['0 , hellp,\t2,\t BB , -\n', ' 1 ,\t \t knock \t , BB,N,- ]

我希望以这种方式展示它:

0,hellp,2,BB,-
1,knock,BB,N,-

如果我想使用拆分,编码将如何? 我已经尝试过这段代码:

l = ['0 , hellp,\t2,\t BB , -\n', ' 1 ,\t \t knock \t , BB,N,- ]
replacements=('\t',' ' ,'\n')
     for r in replacements :
         l = l.replace(r,' ') 
words =l.split()
print(words)

但它并没有像我想要的那样成功

3 个答案:

答案 0 :(得分:1)

使用正则表达式。您可以使用vespa-configserver-remove-state 来删除多个字符。

<强>实施例

re.split

<强>输出:

import re
l = ['0 , hellp,\t2,\t BB , -\n', ' 1 ,\t \t knock \t , BB,N,-' ]
for i in l:
    val = ",".join(re.split(",\t", i.strip())).replace(" ", "")  #split by comma(,) & tab(\t)
    print(re.sub('\s+',"", val))    #replace space

答案 1 :(得分:0)

你可以试试这个:

import re
l = ['0 , hellp,\t2,\t BB , -\n', ' 1 ,\t \t knock \t , BB,N,- ']
new_l = [','.join(filter(None, re.split('[\s,\t\n]+', i))) for i in l]

输出:

['0,hellp,2,BB,-', '1,knock,BB,N,-']

答案 2 :(得分:0)

可以使用re.subn相当简单地表达。

>>> import re
>>> l = ['0 , hellp,\t2,\t BB , -\n', ' 1 ,\t \t knock \t , BB,N,- ']
>>> for item in l:
...     re.subn(r'\s', '', item)[0]
... 
'0,hellp,2,BB,-'
'1,knock,BB,N,-'