re.sub
実際の戦闘では、文字列内の文字を置換する必要があることがよくありますが、このときは def sub(pattern, repl, string, count=0, flags=0) 関数を使用します。パラメータ。 3 つの必須パラメータ: pattern、repl、string、2 つのオプション パラメータ: count、flags。
#特定のパラメータの意味は次のとおりです:Parameter | Description |
正規表現のパターン文字列を表します | |
repl、は置換です。置換された文字列の意味は、 | |
は、次のことを意味します。処理する必要がある、置換される文字列 string | |
パターン内の一致した結果について、count は最初のいくつかのグループの置換を制御できます | |
正規表現修飾子 |
#!/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