2016-07-06 59 views
0

因此,可以說我有一個字符串進來是這樣的:如何從兩個分隔符之間的字符串獲取值,然後爲分隔符之後的內容設置另一個值?

newData = "[Fruit]Apple" 

我怎麼會集設置從字符串,這些變量在發送?

type = "Fruit" 
food = "Apple" 
+0

似乎相當微不足道......你有什麼嘗試過,沒有奏效? –

+1

'm = re.match(r'\ [(?P w +)\](?P \ w +)',「[Fruit] Apple」); type = m.group('type'); food = m.group('name')'? – Bakuriu

+0

什麼是嵌套? – erip

回答

2

replacesplit

type, food = newData.replace('[','').split(']') 

或者沒有replace(信用@Bakuriu),與切片

type, food = newData[1:].split(']') 
+0

我真的不明白在這裏使用'replace'的價值。格式如此固定,以至於只執行'newData [1:]。split(']')'可能會更好。如果格式變得更復雜,那麼'replace'將不起作用。 – Bakuriu

+0

@Bakuriu我也想到了這一點,但我無法確定'[1:]'在一般情況下是如何發揮出來的,比如''不在字符串的開頭。 –

+0

如果'['還沒有開始,你的解決方案也會失敗,因爲你獲得'type =「Fruit」'(有初始空格)而不是''Fruit'',如果該字符串用於查找某些內容, 。 – Bakuriu

0

您可以使用.split()

food = newData.split(']')[-1] 
type = newData.split(']')[0].split('[')[-1] 
相關問題