0基础教程习题22—字符串替换

字符串替换


1、题目要求

 

实现字符串replace方法,以字符串”abcdeaba”为例 ,将a替换成c ,结果为”cbcdecbc”


 

2、程序分析

 

字符串是不可变序列,因此不能直接修改

可以使用字符串的split方法,以将被替换的字符串作为分割符对原字符串进行分割,分割后,再用join方法将分割后的子串连接在一起


 

3、示例代码

 

#coding=utf-8

string = "abcdeaba"
def replace(string,old,new):
    lst = string.split(old)
    if len(lst) == 1:
        return lst[0]
    else:
        return new.join(lst)

print replace(string,'a','c')

对于边界情况,一定要多加考虑,如过old在string中不存在,那么lst中就只会有一个元素,而且正是string,这时就不要指定join了,因为没有字符串需要被替换