函数原型strreplace(str, oldString, newString)
例如: >>> pstr = "Hello World!"; >>> afterReplaceStr = strreplace(pstr, " World", " Tom");
那么afterReplaceStr的值为"Hello Tom!"
方法一:使用字符串替换
def strreplace_v1(old_str, key, value):
# 替换某个字符串的一个或某几个字符串
new_str = old_str.replace(key, value)
return new_str
方法二:使用正则替换
import re
def strreplace_v2(msg, key, value):
''' 替换某个字符串的一个或某几个字符串 '''
m = re.compile(key)
ret = m.sub(value, msg)
return ret
方法三:自己写替换方法
def strreplace_v3(msg, key, value):
''' 替换某个字符串的一个或某几个字符串 '''
n = len(key)
# 使用python的str.index()
# i = msg.index(key)
# 使用手写的函数
i = str_index(msg, key)
j = i + n
ret = msg[:i] + value + msg[j:]
return ret
def str_index(msg, key):
''' 查找字符串key 在 字符串msg 中的位置
手写str.index()函数
'''
i = j = 0
n = len(msg)
m = len(key)
flag = False
while i # 检测第0位的字母
if msg[i] != key[0]:
i += 1
else:
# 相同,检测后续字母
for k in range(1, m):
if msg[i + k] != key[j + k]:
i += k + 1
break
else:
# 找到
return i
raise ValueError('substring not found')
pstr = "Hello World!"
afterReplaceStr = strreplace_v3(pstr, " World", " Tom")
print(afterReplaceStr)
好文章,我在看❤️