Ich habe untersucht, wie der Teilstring, der mit re in python erhalten wurde, aus dem ursprünglichen String gelöscht wird, also anstelle eines Memos.
Die folgenden zwei Dinge kamen mir in den Sinn
Wenn Sie das Gefühl haben, dass Sie mehrere Muster mit timeit getestet haben, scheint 1 schneller zu sein, also habe ich dies übernommen.
Der für den Test verwendete Code lautet wie folgt.
import timeit
import re
test_str = '...Etwas Schnur...'
pat = re.compile('...Etwas regulärer Ausdruck...')
match = pat.search(test_str)
def _remove_str1(base_str, target):
""" match_Basis basierend auf Objektdaten_Str abschneiden und wieder anschließen"""
start = target.start()
end = target.end()
return base_str[:start] + base_str[end:]
def _remove_str2(base_str, target):
""" match_Basierend auf den Daten des Objekts
base_Ersetzen Sie den relevanten Teil von str durch eine leere Zeichenfolge"""
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()