2014-08-31 21 views
-4

我是python的新手。我有一个列表car = [skoda,audi,benz]。我需要将这些单词逐个替换为文本文件,无论我在哪里找到car="mycar"/ vehicle="myvehicle"python从列表中逐个替换单词

请帮助,我们将不胜感激。 考虑我有一个文本文件:

I have a car="mycar" 
My friend has a vehicle="myvehicle" 
My uncle have a car="mycar" 

我需要更换汽车的列表的文本文件,并得到以下结果为:

I have a car="skoda" 
My friend has a vehicle="audi" 
My uncle have a car="benz" 
+1

那么你的问题是什么,你有什么尝试? – vaultah 2014-08-31 11:39:11

+0

我有一个列表,我需要将列表中的单词替换为文本文件,无论我发现'car =/Vehicle =' – 2014-08-31 11:40:38

+1

那么你有什么问题,你有什么尝试? – vaultah 2014-08-31 11:41:04

回答

-2

结合re.subitertools.cycle

import re, itertools 

car = ['skoda', 'audi', 'benz'] 

text = """ 
I have a car="mycar" 
My friend has a vehicle="myvehicle" 
My uncle have a car="mycar" 

Second verse same as the first 

I have a car="mycar" 
My friend has a vehicle="myvehicle" 
My uncle have a car="mycar" 
""" 

it = itertools.cycle(car) 
newtext = re.sub(r'mycar|myvehicle', lambda _: next(it), text) 
+1

谢谢,但它不打印/取代汽车!当我打印文本! – 2014-08-31 11:43:56

+0

我是一个愚蠢的人,而且他们是最愚蠢的人,谢谢你的回答,它非常棒! – 2014-08-31 11:51:51

+0

@Anon downvoters:出来,面对我你懦夫! ;) – georg 2014-08-31 14:10:55

相关问题