2017-10-12 11 views
0

"title"、 "date":などのように分割された文章があります。特定の正規表現に基づいて文字列を分割する方法は? (Pythonで)

これらの区切り文字に基づいてこの文字列を分割したいと思います。今、私はこれを持っている...

line = re.split(r'("[a-z]: ")', line) 



    {"date": "Jul 18, 2017, 4:10 AM", 
    "text": "Best/cheapest", 
    "state_or_country_or_utility": "Norway Travel Forum", 
    "responses": ["The local train www.nsb.no"], 
    "title": "airport transfer "} 
+0

は、それはJSONかもしれないように、あなたはそれを解析するために 'json.loadsを()'を使用することができます聞こえます。 – Barmar

+0

私はそれを使いましたが、何らかの理由でバリューエラーが発生しました。私はこれがより簡単になると思う。 –

+1

入力の完全なサンプルを表示する。 – Barmar

答えて

0

あなたはast.literal_evalを使用することができます。

import ast 
s = '{"date": "Jul 18, 2017, 4:10 AM", "text": "Best/cheapest", "state_or_country_or_utility": "Norway Travel Forum", "responses": ["The local train www.nsb.no"], "title": "airport transfer "}' 
final_data = ast.literal_eval(s) 

出力:あなたの入力がJSONである

{'date': 'Jul 18, 2017, 4:10 AM', 'text': 'Best/cheapest', 'state_or_country_or_utility': 'Norway Travel Forum', 'responses': ['The local train www.nsb.no'], 'title': 'airport transfer '} 
0

、あなたがjson.loads()を使用することができます。

輸入JSON

data = '''{"date": "Jul 18, 2017, 4:10 AM", 
    "text": "Best/cheapest", 
    "state_or_country_or_utility": "Norway Travel Forum", 
    "responses": ["The local train www.nsb.no"], 
    "title": "airport transfer "}''' 

result = json.loads(data) 
print('Title = ', result['title']) 
print('Date = ', result['date']) 

DEMO

関連する問題