Löschen Sie den Teilstring

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

  1. Schneiden Sie die ursprünglichen Zeichenketten aus und verbinden Sie sie basierend auf den Positionsinformationen der Unterzeichenketten.
  2. Ersetzen Sie den Teilstring.

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()

Recommended Posts

Löschen Sie den Teilstring
Können Sie diese Datei löschen?
Löschen Sie Tweets für einen bestimmten Zeitraum
Löschen Sie alle pyc-Dateien im angegebenen Verzeichnis
In Bash "Löschen Sie die Datei, falls vorhanden".