re.sub
実際の戦闘では、文字列內(nèi)の文字を置換する必要があることがよくありますが、このときは def sub(pattern, repl, string, count=0, flags=0) 関數(shù)を使用します。パラメータ。 3 つの必須パラメータ: pattern、repl、string、2 つのオプション パラメータ: count、flags。
#特定のパラメータの意味は次のとおりです:Parameter | Description |
正規(guī)表現(xiàn)のパターン文字列を表します | |
repl、は置換です。置換された文字列の意味は、 | |
は、次のことを意味します。処理する必要がある、置換される文字列 string | |
パターン內(nèi)の一致した結(jié)果について、count は最初のいくつかのグループの置換を制御できます | |
正規(guī)表現(xiàn)修飾子 |
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- import re a = 'Python*Android*Java-888' # 把字符串中的 * 字符替換成 & 字符 sub1 = re.sub('\*', '&', a) print(sub1) # 把字符串中的第一個(gè) * 字符替換成 & 字符 sub2 = re.sub('\*', '&', a, 1) print(sub2) # 把字符串中的 * 字符替換成 & 字符,把字符 - 換成 | # 1、先定義一個(gè)函數(shù) def convert(value): group = value.group() if (group == '*'): return '&' elif (group == '-'): return '|' # 第二個(gè)參數(shù),要替換的字符可以為一個(gè)函數(shù) sub3 = re.sub('[\*-]', convert, a) print(sub3)
出力結(jié)果:
Python&Android&Java-888 Python&Android*Java-888 Python&Android&Java|888