首页 存档 技术 查看内容

算法---字符串替换

2018-3-30 13:00 |来自: 互联网 302 0

摘要: 字符串替换字符串的replace方法是一个经常被用到的方法,你希望将字符串里的一些字符替换成别的字符,以下面的字符串为例 abcdeaba 将所有的a字符替换成c字符,其结果是cbcdecbc 基础算法近来这段时间的算法题目,都 ...

字符串替换


字符串的replace方法是一个经常被用到的方法,你希望将字符串里的一些字符替换成别的字符,以下面的字符串为例

abcdeaba

将所有的a字符替换成c字符,其结果是cbcdecbc

基础算法


近来这段时间的算法题目,都是实现字符串的方法,这些方法看似简单,但是却非常能够考察一个人的基本功,当你掌握了最最基础的编程能力,面对那些稍复杂的问题时,也就手到擒来了。

思路


该如何思考这道题目呢!

你必须明确,字符串是不可变的序列,因此,你无法直接修改字符串,因此必须对字符串进行切分,以将要被替换的字符串为分隔符进行分割,这恰好是上一篇算法文章里实现的split方法。

当字符串以旧字符串分割后,分割的结果是一个或多个子串,我们的目标是要把旧字符串替换成新的字符串,此时,就可以使用字符串的join方法,用新的字符串将切分后的子串连接起来

明确了思路后,编写代码就变得非常容易

示例代码


#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了,因为没有字符串需要被替换

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部