2010-05-11 67 views
1

我有一段文字是被遞給我喜歡:解析ASCII文本字符串轉換成獨立的變量

這裏是一條線\ n \ nhere是雙線\ n \ nhere爲三

我想要做的是將這個字符串分成三個單獨的變量。 我不太清楚在python中如何實現這個功能。

感謝您的幫助, JML

回答

4
a, b, c = s.split('\n\n') 
+0

它看起來像將s變成列表元素。我如何索引它? – jml 2010-05-11 22:04:02

+2

它不會修改's'。字符串是不可變的,所以字符串操作返回一個新的對象。 – 2010-05-11 22:07:58

0

要使用3個元素分解成一個列表:

mystring = "here is line one\n\nhere is line two\n\nhere is line three" 
listofthings = mystring.split("\n\n") 

然後你可以用listofthings[0]listofthings[1]listofthings[2]訪問它們。

把他們在不同的實際變量:

mystring = "here is line one\n\nhere is line two\n\nhere is line three" 
a,b,c = mystring.split("\n\n") 

# a now contains "here is line one", et cetera. 
+1

'mystring.split()'將分割空白和末尾。 – tdedecko 2010-05-11 22:07:21

+0

哎呀,你是對的。這就是我醒來後立即發佈的內容。固定。 – Amber 2010-05-11 22:57:38

1
s1, s2, s3 = that_string_variable.split('\n\n') 

基本上,任何變量,你已經得到了在該字符串,然後你在你想要作爲分隔符使用令牌.split()(在此情況下,'\n\n'),那會返回一個字符串列表。您可以使用「解包」進行分配,以指定要轉至的每個元素的多個變量。像上面賦值說:「我知道右手邊給我三個要素,我想那些進入s1s2s3的順序

1

您可以使用拆分功能:

s = 'ab\n\ncd' 
tokens = s.split('\n\n') 

然後tokens是數組['ab', 'cd']

編輯:我以爲你的意思是,你希望你的例子被分成3個字符串,但一般要分割字符串> 3串如有必要