2013-05-17 38 views
0

我試圖修復訪問表中字段中的值。值這個樣子在字段中分裂和刪除值,Python

G45-f1 
C43-m1 
C6-h1 
M90_N9-h1 
K9_Y7-h2 

我要切走破折號前的一切「 - 」,並刪除其餘的,看起來像這樣:

G45 
C43 
C6 
M90_N9 
K9_Y7 

我知道我可以在拆分值破折號x.split("-"),但我不知道如何刪除餘數。歡迎大家提出意見。

回答

2

str.split()總是返回至少一個元素的列表,只需選擇結果的第一個元素忽略其它:

x.split('-')[0] 

您可能希望限制分割數,因爲你放棄一切,但第一部分反正:

x.split('-', 1)[0] 
+0

索引。對。我應該明白這一點。在緊張的時間表上。感謝您的快速回復 :) – Mike

0

您可以創建一個新的列表

newlist = [x.split('-')[0] for x in oldlist] 
1

您可以使用str.split,但你也可以使用str.partition只分割到第一次出現,並始終保證返回的3元組...(分隔符):

>>> print 'M90_N9-h1'.partition('-')[0] 
M90_N9 

這有你應該要的優勢,那麼,即使分隔符不存在,這將是一個空字符串,而不是通過str.splitIndexError例外。