我在写一个像unix tr的程序,它可以替换输入字符串。 我的策略是首先找到源字符串的所有索引,然后用目标字符串替换它们。我不知道如何通过索引替换字符串,所以我只是使用切片。 但是,如果目标字符串的长度不等于源字符串,则该程序将错误。我想知道如何通过索引替换字符串。Python:如何用索引替换字符串
def tr(srcstr,dststr,string):
indexes = list(find_all(string,srcstr)) #find all src indexes as list
for index in indexes:
string = string[:index]+dststr+string[index+len(srcstr):]
print string
TR( 'AA', '毫米', 'aabbccaa')
这样做的结果将是正确的:mmbbccmm
但如果TR( 'AA', ''000', 'aabbccaa') ,输出将是错误的:
ooobbcoooa
谢谢你,我知道这 – remy 2012-03-02 07:37:16
@remy贵的问题得到解答?如果是这样,您可以使用绿色复选标记接受答案。 – Taymon 2012-03-02 07:39:26