J'ai examiné comment supprimer la sous-chaîne obtenue en utilisant re en python à partir de la chaîne d'origine, donc au lieu d'un mémo.
Les deux choses suivantes me sont venues à l'esprit
Si vous testez plusieurs modèles en utilisant timeit, 1 semble être plus rapide, donc j'ai adopté cela.
Le code utilisé pour le test est le suivant.
import timeit
import re
test_str = '...Quelque chose de chaîne...'
pat = re.compile('...Quelque chose d'expression régulière...')
match = pat.search(test_str)
def _remove_str1(base_str, target):
""" match_Base basée sur les données d'objets_Couper str et reconnecter"""
start = target.start()
end = target.end()
return base_str[:start] + base_str[end:]
def _remove_str2(base_str, target):
""" match_Basé sur les données de l'objet
base_Remplacez la partie appropriée de str par une chaîne de caractères vide"""
return base_str.replace(target.group(), '')
def run1():
_remove_str1(test_str, match)
def run2():
_remove_str2(test_str, match)
if __name__ == '__main__':
t = timeit.Timer('run1()',
'from %s import run1' % __name__)
print t.timeit()
t2 = timeit.Timer('run2()',
'from %s import run2' % __name__)
print t2.timeit()