1

次の文字列を解析しようとしています。

スペースを考慮して編集...

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

考え?

4

3 に答える 3

0

1つの可能性はstrip()、不要な文字を削除するために使用することです。

In [18]: s="['LOCATION', 'NAME', 'JOB', 'AREA')]"

In [19]: print '\n'.join(tok.strip("[]()' ") for tok in s.split(','))
LOCATION
NAME
JOB
AREA

元のソリューションと同様に、いずれかの文字列にコンマを含めることが許可されている場合、これは機能しなくなります。

PS例の閉じ括弧がタイプミスの場合は、次を使用できる可能性がありますast.literal_eval()

In [22]: print '\n'.join(ast.literal_eval(s))
LOCATION
NAME
JOB
AREA
于 2012-05-28T16:59:00.963 に答える
0
InfoL = re.split("[, '()\[\]]*", Info)
于 2012-05-28T17:00:08.593 に答える
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
于 2012-05-28T18:04:07.143 に答える