Python-Funktion, um String zwischen zwei Markern zu finden

Ich schaue, um eine String-Funktion zu bauen, um den String-Inhalt zwischen zwei Markern zu extrahieren. Es gibt eine Extraktionsliste zurück

def extract(raw_string, start_marker, end_marker): ... function ... return extraction_list 

Ich weiß, das kann mit regex getan werden, aber ist das schnell? Das wird in meinem Prozess millionenfach genannt. Was ist der schnellste Weg, dies zu tun?

  • Dead einfaches Beispiel für die Verwendung von Multiprocessing Queue, Pool und Locking
  • Swap-Schlüssel für eindeutige Werte in einem Wörterbuch in Python
  • Python-Matplolib-Polardiagramm x-Achsen-Etikettenposition
  • OpenCV erkennt die Anzahl der Pillen in einer Röhre
  • Pyqtgraph: Synchronisieren Sie die Skalierung von Achsen in verschiedenen Plots
  • Python mit Eclipse Import Problem
  • Was passiert, wenn die Markierungen gleich sind und erscheinen und ungerade Anzahl der Zeiten?

    Die Funktion sollte mehrere Strings zurückgeben, wenn die Start- und Endmarkierungen mehr als einmal erscheinen.

  • Einheit und Funktionsprüfung einer PySide-basierten Anwendung?
  • Wie machst du eine Fehlerbar-Handlung in Matplotlib mit linestyle = Keine in rcParams?
  • Erstellen Sie eine Funktion über MySQLdb
  • Echtzeit-Fortschrittsverfolgung von Sellerie-Aufgaben
  • Bin ich diese HTTP-POST-Anforderung richtig parsen?
  • Verwenden Sie Hadoop in Python, um eine große csv-Datei zu verarbeiten
  • One Solution collect form web for “Python-Funktion, um String zwischen zwei Markern zu finden”

    Sie können wahrscheinlich nicht schneller gehen als:

     def extract(raw_string, start_marker, end_marker): start = raw_string.index(start_marker) + len(start_marker) end = raw_string.index(end_marker, start) return raw_string[start:end] 

    Aber wenn du Regex ausprobieren möchtest, versuch einfach es zu benchmarkieren. Es gibt ein gutes Timim-Modul dafür.

    Python ist die beste Programmiersprache der Welt.