Im tatsächlichen Kampf müssen wir häufig Zeichen in einer Zeichenfolge ersetzen. Zu diesem Zeitpunkt können wir die Funktion def sub(pattern, repl, string, count=0, flags=0) verwenden Parameter. Drei der erforderlichen Parameter: Muster, Replik, Zeichenfolge; zwei optionale Parameter: Anzahl, Flags. Die spezifischen Parameterbedeutungen sind wie folgt:
Informationen zur spezifischen Verwendung finden Sie unten In diesem Beispiel sind die Kommentare sehr klar. Das Wichtigste ist, dass der zweite Parameter an eine Funktion übergeben werden kann. Dies ist beispielsweise die Funktion „convert“. Beurteilen Sie die übergebenen Zeichen, die ersetzt werden sollen, und ersetzen Sie sie durch andere Zeichen.参数 | 描述 |
pattern | 表示正则中的模式字符串 |
repl | repl,就是replacement,被替换的字符串的意思 |
string | 即表示要被处理,要被替换的那个 string 字符串 |
count | 对于pattern中匹配到的结果,count可以控制对前几个group进行替换 |
flags | 正则表达式修饰符 |
#!/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)
Ausgabeergebnis:
Python&Android&Java-888 Python&Android*Java-888 Python&Android&Java|888nächsten Abschnitt