Python通过单引号解析字符串

时间:2012-05-28 16:54:05

标签: python regex

我正在尝试解析以下字符串:

编辑以解释空间......

['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

思想?

3 个答案:

答案 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