re.subLOGIN

re.sub

実際の戦闘では、文字列内の文字を置換する必要があることがよくありますが、このときは def sub(pattern, repl, string, count=0, flags=0) 関数を使用します。パラメータ。 3 つの必須パラメータ: pattern、repl、string、2 つのオプション パラメータ: count、flags。

#特定のパラメータの意味は次のとおりです:

pattern正規表現のパターン文字列を表しますrepl repl、は置換です。置換された文字列の意味は、文字列 は、次のことを意味します。処理する必要がある、置換される文字列 string count パターン内の一致した結果について、count は最初のいくつかのグループの置換を制御できます##flags 特定の使用法については、以下の例を参照してください。詳細です。明らかです。注目すべき主な点は、2 番目のパラメータに関数を渡すことができるということです。これがこのメソッドの強みでもあります。たとえば、例の関数 Convert は、渡された文字を置換対象として判断し、置換します。異なるものとのキャラクター。
ParameterDescription
正規表現修飾子
#!/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
次のセクション
コースウェア