重新子
實戰過程中,我們很多時候需要替換字串中的字符,這時候就可以用到def sub(pattern, repl, string, count=0, flags=0) 函數了,re.sub 共有五個參數。其中三個必選參數:pattern, repl, string ; 兩個可選參數:count, flags .
#具體參數意義如下:
##參數 | 描述 |
表示正規中的模式字串 | |
repl,就是replacement,被替換的字串的意思 | |
即表示要被處理,要被替換的那個string 字串 | |
#對於pattern中匹配到的結果,count可以控制對前幾個group進行替換 | |
正規表示式修飾符 |
#!/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