【发布时间】:2011-12-29 16:45:12
【问题描述】:
我正在尝试在不使用正则表达式的情况下重写等效的 python replace() 函数。使用这段代码,我设法让它使用单个字符,但不能使用多个字符:
def Replacer(self, find_char, replace_char):
s = []
for char in self.base_string:
if char == find_char:
char = replace_char
#print char
s.append(char)
s = ''.join(s)
my_string.Replacer('a','E')
任何人有任何指针如何使这个工作与多个字符一起工作?示例:
my_string.Replacer('kl', 'lll')
【问题讨论】:
-
更重要的问题是为什么。
-
从技术上讲,如果您进行这样的搜索,您将创建一个正则表达式。是否避免使用 python 方便的正则表达式语法取决于你
-
@habitue:实际上,你可能会做得更糟。现代正则表达式引擎有各种巧妙的技巧,简单的算法不会从中受益。
-
"hlep me".replace("le", "el")有什么问题? -
重写这个方法让我对字符串操作有了更深入的了解。通过查看@CedricJulien 代码,我学到了很多东西,我很感激他努力分享实现