Python - AI 助手

Python re.sub() 方法



Python 的 `re.sub()` 方法用於替換字串中模式的出現。它搜尋輸入字串中模式的所有不重疊匹配項,並將其替換為指定的替換字串。

此方法有助於使用正則表示式對字串執行全域性搜尋和替換操作。它提供了模式匹配和替換的靈活性,允許對文字資料進行復雜的轉換。

使用 `count` 和 `flags` 可選引數,`re.sub()` 方法可以控制替換次數和匹配行為,使其成為 Python 中文字處理任務的通用工具。

語法

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

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

引數

以下是 Python `re.sub()` 方法的引數:

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

返回值

此方法返回一個匹配物件迭代器。

示例 1

以下是 Python `re.sub()` 方法的基本示例,其中字串中的所有數字序列都替換為字串“number”:

import re

result = re.sub(r'\d+', 'number', 'Welcome to Tutorialspoint learning 2024')
print(result) 

輸出

Welcome to Tutorialspoint learning number

示例 2

此示例在模式和替換字串中都使用捕獲組來重新排列日期格式。

import re

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

輸出

Date: 01/01/2022

示例 3

在此示例中,函式“square”的輸出用作替換。它對在字串中找到的每個數字匹配項進行平方:

import re

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

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

輸出

Numbers: 1 4 9 16 25

示例 4

在此示例中,count=1 引數將替換次數限制為 1,因此僅替換第一個數字序列:

import re

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

輸出

There are number apples and 456 oranges.
python_modules.htm
廣告