re.sub

En combat réel, nous avons souvent besoin de remplacer des caractères dans une chaîne. À ce stade, nous pouvons utiliser la fonction def sub(pattern, repl, string, count=0, flags=0) re.sub a cinq paramètres au total. . Trois des paramètres requis : motif, repl, chaîne ; deux paramètres facultatifs : nombre, drapeaux

Les significations spécifiques des paramètres sont les suivantes :

ParamètreDescription
pattern. Indique la chaîne de modèle dans l'expression régulière
repl repl, qui est remplacement, la signification de la chaîne remplacée
string signifie la chaîne à traiter et à remplacer
count For les résultats correspondants dans le modèle, le nombre peut contrôler le remplacement des premiers groupes
drapeaux Modificateur d'expression régulière

Pour un usage spécifique, veuillez voir l'exemple ci-dessous, commentez Tout est écrit très clairement. La principale chose à noter est que le deuxième paramètre peut être transmis à une fonction. C'est également la puissance de cette méthode. Par exemple, la fonction convert dans l'exemple juge les caractères transmis à remplacer par des caractères différents.

#!/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)

Le résultat de sortie :

Python&Android&Java-888
Python&Android*Java-888
Python&Android&Java|888
Formation continue
  • Recommandations de cours
  • Téléchargement du didacticiel