我正在尝试解析以下字符串:
编辑以解释空间......
['THE LOCATION', 'THE NAME', 'THE JOB', 'THE AREA')]
现在我使用正则表达式并使用逗号将数据拆分为列表
InfoL = re.split(“,”,Info)
但是我的输出是
'THE LOCATION'
'THE NAME'
'THE JOB'
'THE AREA')]
希望输出如下
THE LOCATION
THE NAME
THE JOB
THE AREA
思想?
答案 0 :(得分:0)
一种可能性是使用strip()
删除不需要的字符:
In [18]: s="['LOCATION', 'NAME', 'JOB', 'AREA')]"
In [19]: print '\n'.join(tok.strip("[]()' ") for tok in s.split(','))
LOCATION
NAME
JOB
AREA
与原始解决方案一样,如果允许任何字符串包含逗号,则会中断。
P.S。如果您的示例中的右括号是拼写错误,您可以使用ast.literal_eval()
:
In [22]: print '\n'.join(ast.literal_eval(s))
LOCATION
NAME
JOB
AREA
答案 1 :(得分:0)
InfoL = re.split("[, '()\[\]]*", Info)
答案 2 :(得分:0)
试试这段代码:
import re
tmpS = "['THE LOCATION', 'THE NAME', 'THE JOB', 'THE AREA')]"
tmpS = re.sub('[^\w\s,]+', '', tmpS)
print tmpS # Result -> 'THE LOCATION, THE NAME, THE JOB, THE AREA'
for s in tmpS.split(','):
print s.strip()
O/P:
THE LOCATION
THE NAME
THE JOB
THE AREA