重新子LOGIN

重新子

實戰過程中,我們很多時候需要替換字串中的字符,這時候就可以用到def sub(pattern, repl, string, count=0, flags=0) 函數了,re.sub 共有五個參數。其中三個必選參數:pattern, repl, string ; 兩個可選參數:count, flags .

#具體參數意義如下:

#pattern表示正規中的模式字串#repl repl,就是replacement,被替換的字串的意思string 即表示要被處理,要被替換的那個string 字串count #對於pattern中匹配到的結果,count可以控制對前幾個group進行替換flags 正規表示式修飾符
##參數描述
#具體使用可以看下面的這個實例,註解都寫的很清楚的了,主要是注意一下,第二個參數是可以傳遞一個函數的,這也是這個方法的強大之處,例如例子裡面的函數convert ,對傳遞進來要替換的字符進行判斷,替換成不同的字元。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import re
a = 'Python*Android*Java-888'
# 把字符串中的 * 字符替换成 & 字符
sub1 = re.sub('\*', '&', a)
print(sub1)
# 把字符串中的第一个 * 字符替换成 & 字符
sub2 = re.sub('\*', '&', a, 1)
print(sub2)
# 把字符串中的 * 字符替换成 & 字符,把字符 - 换成 |
# 1、先定义一个函数
def convert(value):
    group = value.group()
    if (group == '*'):
        return '&'
    elif (group == '-'):
        return '|'
# 第二个参数,要替换的字符可以为一个函数
sub3 = re.sub('[\*-]', convert, a)
print(sub3)

輸出的結果:

Python&Android&Java-888
Python&Android*Java-888
Python&Android&Java|888
下一節
章節課件