2015-07-20 100 views
3

我編寫了一個代碼來列出我的Linux服務器中的所有組件。該列表存儲在一個文件中。我將逐行準備,並且必須將版本中的組件分成兩部分並存儲在不同的字符串中。如何在第一次出現字符時將字符串拆分爲兩個

例如:我的一行顯示console-3.45.1-0,其中console是組件,3.45.1-0是版本。如果我使用拆分,

print components[i].split('-') 

我可以看到['console', '3.45.1', '0\r\r']這不是我想要的。如何在第一次出現' - '時將其分成兩個字符串?

回答

8

str.split需要maxsplit參數,通過1到僅分裂在第一-

print components[i].rstrip().split('-',1) 

要輸出存儲在兩個變量:

In [7]: s = "console-3.45.1-0" 

In [8]: a,b = s.split("-",1) 

In [9]: a 
Out[9]: 'console' 

In [10]: b 
Out[10]: '3.45.1-0' 
+0

呀。這工作。但我怎麼能存儲到2個不同的字符串? –

+0

@Roshanr,如果你想保留''\ r \ r''刪除rstrip調用 –

+0

@Roshanr,補充說明如何存儲輸出 –

相關問題