Python - AI 助手

Python re.subn() 方法



Python 的 re.subn() 方法類似於 re.sub() 方法,但它返回修改後的字串和所做替換的次數。它使用正則表示式模式對字串執行搜尋和替換操作。修改後的字串(包含替換內容)與替換次數一起返回。

當我們需要知道除了獲取修改後的字串之外還進行了多少次替換時,此方法很有用。此方法通常在我們既需要修改後的字串又需要替換次數以進行進一步處理時使用。

語法

以下是 Python re.subn() 方法的語法和引數:

re.subn(pattern, repl, string, count=0, flags=0)

引數

以下是 python re.subn() 方法的引數:

  • pattern: 要搜尋的正則表示式模式。
  • repl: 替換字串或要為每個匹配項呼叫的函式。
  • string: 要執行替換操作的輸入字串。
  • count(可選): 要執行的最大替換次數。預設為 0,表示替換所有出現。
  • flags(可選): 用於修改匹配行為的標誌(例如,re.IGNORECASE)

返回值

此方法返回匹配物件迭代器和替換次數。

示例 1

以下是 python re.subn() 方法的基本示例,其中字串中的所有數字序列都替換為字串“number”,並且還返回所做替換的次數:

import re

result, count = re.subn(r'\d+', 'number', 'There are 123 apples and 456 oranges.')
print(result)  
print(count)     

輸出

There are number apples and number oranges.
2

示例 2

此示例在模式和替換字串中都使用捕獲組來重新排列日期格式。這裡只進行了一次替換,所以計數為 1。

import re

result, count = re.subn(r'(\d+)-(\d+)-(\d+)', r'\3/\2/\1', 'Date: 2022-01-01')
print(result)  
print(count)      

輸出

Date: 01/01/2022
1

示例 3

在此示例中,函式 square 用作替換。它對在字串中找到的每個數字匹配項進行平方,並返回替換次數為 5:

import re

def square(match):
    num = int(match.group())
    return str(num ** 2)

result, count = re.subn(r'\d+', square, 'Numbers: 1 2 3 4 5')
print(result) 
print(count)        

輸出

Numbers: 1 4 9 16 25
5
python_modules.htm
廣告