2015-12-14 34 views
0

我想利用網名進行字符串是這樣的:re.search串

text = (u'675739242841120768', [{u'id': 9207632, u'indices': [3, 15], u'id_str': u'9207632', u'screen_name': u'brainpicker', u'name': u'Maria Popova'}]) 

我沒有得到任何結果與此代碼我想我需要使用:

re.search("screen_name': u'(...)', u'name", text) 

我不確定我是否想在圓括號內添加其他內容。

+0

什麼是你的'文本'數據類型它看起來不像你顯示的字符串,爲什麼它沒有工作是否有任何錯誤 – The6thSense

+0

它假設是一個字符串 –

+2

你可以打印類型(文本) – The6thSense

回答

3

您需要指定確切的索引值,因爲變量文本包含元組,列表和詞典的組合。

>>> text = (u'675739242841120768', [{u'id': 9207632, u'indices': [3, 15], u'id_str': u'9207632', u'screen_name': u'brainpicker', u'name': u'Maria Popova'}]) 
>>> text[1][0]['screen_name'] 
u'brainpicker' 

不能將re.search直接列出或元組或字典,它應該接受字符串作爲最後一個參數。

+0

如果它是字符串're.search(r「'screen_name':u'(\ w +)',u'name'」,text).group(1)' –

+0

Mate爲什麼你不把你的評論添加到答案中 – The6thSense

+0

@VigneshKalai op說這是一個元組,所以沒有必要.. :-) –