2016-12-18 183 views
-4

我有一个包含字符串列表的文件。下面是该文件:替换python中的字符串中的特定字符

['Alabama', 
'Auburn (Auburn University)[1]', 
'Florence (University of North Alabama)', 
'Jacksonville (Jacksonville State University)[2]', 
'Livingston (University of West Alabama)[2]', 
'Montevallo (University of Montevallo)[2]', 
'Troy (Troy University)[2]', 
'Tuscaloosa (University of Alabama, Stillman College, Shelton State)[3][4]', 
'Tuskegee (Tuskegee University)[5]', 
'Alaska', 
'Fairbanks (University of Alaska Fairbanks)[2]', 
'Arizona', 
'Flagstaff (Northern Arizona University)[6]', 
'Tempe (Arizona State University)', 
'Tucson (University of Arizona)', 
'Arkansas', 
'Arkadelphia (Henderson State University, Ouachita Baptist University)[2]', 
'Conway (Central Baptist College, Hendrix College, University of Central 
Arkansas)[2]'] 

我需要它含有字符串值的列表清单:

['Alabama', 
'Auburn', 
'Florence', 
'Jacksonville', 
'Livingston', 
'Montevallo', 
'Troy', 
'Tuscaloosa', 
'Tuskegee', 
'Alaska', 
'Fairbanks', 
'Arizona', 
'Flagstaff', 
'Tempe', 
'Tucson', 
'Arkansas', 
'Arkadelphia', 
'Conway'] 

普莱斯建议我没有办法做到这一点。

+1

你到目前为止尝试过什么?您的示例中显示的文本是文件中的确切文本,还是在您将它读入Python列表之后的样子? –

+1

我建议你写一些代码。 – jonrsharpe

+0

'[i.split('(')[0] for my my_list]' – piRSquared

回答

0
  • 在Python有一个地图功能,它是用来在数组

  • 您可以定义函数来得到你想要的东西从字符串功能适用于每一个元素,也许在第一个空格中截断字符串“”!你需要尝试不同的东西......

1

试试这个(与你的文件路径替换data.txt):

with open('data.txt', 'r') as data_file: 
    data = data_file.read() 
    raw_elements = data.replace('\n', '').strip('[]').split(',') 
    elements = map((lambda item: item.strip("'").split(' ')[0]), raw_elements) 
    print elements 

基本上它读取整个文件,消除了新的生产线,将删除的方括号从开始和结束,用内容分割内容,从每个字符串中删除',再次使用空格分隔每个元素并占用第一部分。

0

我只想写类似

map(lambda x: x.split(" ")[0], a) 

它总是会返回一个包含您的列表中的每一个元素的第一个单词的列表。