2011-07-14 80 views
1

我想在選項卡之間分割字符串。比方說,我有一個file.txt的在Python中分割字符串

Kern_County_Museum 1,000,000+ 
Fairplex_railway_exhibit Depot and rolling stock 

所以我想從左側去除冗餘,並保持右側,因爲它是一些文本。

import re 
import string 
import urllib 

for line in open('file.txt', 'r').readlines(): 
left, right = string.split(line, maxsplit=1) 
relation = string.split(line, maxsplit=1) 

le = relation[0] 
ri = relation[1] 

le = urllib.unquote(relation[0]) 
le = le.replace('_', ' ') 


print le, '\t', ri 
+2

你不應該使用string.split()。每個字符串對象直接提供split()方法*。 –

回答

2

限制您的拆分。

left, right = line.split(None, 1) 
+2

它應該是'left,right = string.split(line,maxsplit = 1)' –

+0

@Ignacio Vazquez-Abrams:謝謝!....... –

+0

@Guanidene:它適用於您的解決方案。謝謝。許多。 –

1

默認情況下split方法,通過任何空格分割的字符串。要以製表分割字符串,傳遞額外的參數給此方法:

left, right = line.split('\t', 1) 
+0

我以爲他們分裂的空白,而不是「」 – samb8s

+0

@羅曼Bodnarchuk:非常感謝! –

+0

@ samb8很好,是的,在任何空白處。 –

0

使用str.partition

left, delim, right = line.partition('\t') 
+0

獲取錯誤 - 'str對象沒有屬性分區' –

+1

@藍色冰,如果您使用的是2.5以上的Python,最好在問題/標籤中提及它 –