如果我有文本appleorangepearbanana,我想用x替换苹果香蕉和梨的每个实例,并用y替换每个橙色实例。理想情况下,我会有一个苹果,橙子和香蕉的字典,对于这个字典的任何实例,它将被替换为x。我对python很新,所以任何帮助都会受到赞赏:)
初始文本:appleorangepearbanana 最终文本:xyxx
答案 0 :(得分:2)
用函数str.replace('x','y')
可以很容易地解决这个问题foo = 'appleorangepearbanana '
foo = foo.replace('apple', 'x').replace('banana', 'x').replace('pear', 'x').replace('orange','y')
print foo
使用字典和循环:
foo = 'appleorangepearbanana '
dict = {'apple':'x','pear':'x','banana':'x','orange':'y'}
for original,replacewith in dict.items():
foo = foo.replace(original, replacewith)
print foo
答案 1 :(得分:0)
正则表达式可能在这里运作良好:
import re
thedict = dict.fromkeys('apple pear banana'.split(), 'x')
thedict['orange'] = 'y'
theregex = '|'.join(thedict)
def dosub(mo):
return thedict.get(mo.group(0), '???')
result = re.sub(theregex, dosub, 'appleorangepearbanana')
将根据需要生成'xyxx'
。