Pyhton 正則替換字串指定內容

2021-09-27 01:58:39 字數 2298 閱讀 5143

[top]

正規表示式的sub模組,只能能提供正常全匹配,並進行替換。但有時我們需要精確匹配的時候就有點不太適用,比如: 『my_friend and my_friendship 『,我z只是想替換掉 my_friend 的時候,可以使用正則 r』(my_friend)\w』 的檢索來精確找到 『my_friend』,但如果我們要替換 『my_friend』 呢? re.sub 會將 'my_friend 』 全部替換掉,這裡提供了一種通過索引找到目標並精確匹配的方法。

# -*- coding: utf-8 -*-

import re

class

myfriend

: @staticmethod

defnormal_code

(t_str, code, val)

:"""

:param t_str: str

:param code: str

:param val: str

"""try:

regex = re.

compile

(r'(%s)'

% code)

n_str = regex.sub(val, t_str)

return n_str

except exception as e:

print

('error: %s'

% e)

if __name__ ==

"__main__"

: stand_str =

'my_friend and my_friendship '

aim_str =

'my_friend'

my_friend = myfriend(

) new_friend = my_friend.normal_code(stand_str, aim_str,

'000000'

)print

('== new_friend ==: %s'

% new_friend)

執行結果:== new_friend ==: 000000 and 000000ship

通過切割字元創併在此拼接的方法,實現指定替換

# -*- coding: utf-8 -*-

import re

class

myfriend

: @staticmethod

defnormal_code

(t_str, code, val, d_index)

:"""

:param t_str: str

:param code: str

:param val: str

:param d_index: int

"""try:

regex = re.

compile

(r'(%s)\w'

% code)

while

true

: my_search = regex.search(t_str)

ifnot my_search:

break

aim_index = my_search.span(

) t_str =

''.join(

[:t_str[aim_index[0]

], val, t_str[

:aim_index[1]

-d_index]])

return t_str

except exception as e:

print

('error: %s'

% e)

if __name__ ==

"__main__"

: stand_str =

'my_friend and my_friendship '

aim_str =

'my_friend'

my_friend = myfriend(

) new_friend = my_friend.normal_code(stand_str, aim_str,

'000000',1

)print

('== new_friend ==: %s'

% new_friend)

執行結果:== new_friend ==: 000000 and my_friendship

hive 字串替換指定字元 字串 替換空格

遇到對字串或者陣列做填充或刪除的操作時,都要想想從後向前操作怎麼樣。請實現乙個函式,把字串 s 中的每個空格替換成 20 如果想把這道題目做到極致,就不要只用額外的輔助空間了!首先擴充陣列到每個空格替換成 20 之後的大小。然後從後向前替換空格,也就是雙指標法,過程如下 i指向新長度的末尾,j指向舊...

python 字串替換 正則

因為看電影字幕有些不必要的想刪除,此段 用於刪除 內的內容。python 中 string的replace函式並不能直接使用 正規表示式,所以我們採取compile的方式 其中re為正則的標準庫。此段 包含 1.檔案的讀入輸出 2.正規表示式的使用 import re out open g and....

Python 正則替換字串

需求 1.替換給定字串中符合正則匹配的子串。2.使用者配置增加 刪減替換規則方便。3.基於裝飾器模式實現。基於re包和裝飾器模式實現。參考裝飾器模式,這資料挺不錯的,有人把設計模式用python都實現了一遍。郵箱正則匹配 email regex r 0 9a za z 0 9a za z com c...