替換某個字串 Python經典程式設計題 字串替換

2021-10-25 12:52:59 字數 1573 閱讀 7446

函式原型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:

# 找到

好文章,我在看❤️

mysql 替換某個欄位中的某個字元

遇到這麼個情況 比如 msql裡面的某個表的某個字段裡面儲存的是乙個人的位址,有一天這個位址的裡面的某個地 名變了,那麼他的位址也就要變 比如 原來是 csharp view plain copy number addr 01 四川省成都市 街道05號 02 四川省成都市 街道07號 03 四川省成...

mysql替換某個欄位中的某個字元

比如 msql裡面的某個表的某個字段裡面儲存的是乙個人的位址,有一天這個位址的裡面的某個地 名變了,那麼他的位址也就要變 比如 原來是 number addr 01 中國浙江 02 中國浙江 03 中國浙江 現在位址改了 浙江 搬到了 上海 所以,addr欄位裡面的所有的值,都要把 浙江 改為 上海...

Mysql 替換某個字串指定位置字串

需求 隱藏手機號碼中中間四位,sql如下 select nickname concat left nickname,3 right nickname,4 from tb users where length nickname 11 and nickname like 1 返回字串str的最左面字元的...