Einige Charaktere, die '\' vor ihnen verwenden müssen, um zu löschen

Welche Zeichen brauchen sie, bevor sie aus einem Text löschen?
So was :

import re my_source = re.sub('\(','',my_source) 

  • Wie füge ich Wörterbücher zusammen in Python zusammen?
  • Wie kann ich einen regelmäßigen Ausdruck in Python debuggen?
  • Kann der Python-Interpreter auf neu gestalteten Funktionen ausfallen?
  • Entfernen Sie das Standardmenü "Python" mit dem Tkinter Menü auf Mac OSX
  • Python kann keine gemeinsame Bibliothek in cron finden
  • Tensorflow Word2Vec Fehler
  • Benchmarking Django Apps
  • Verwenden von OpenCL beschleunigten Funktionen mit OpenCV3 in Python
  • Python-Timing eine Socket-Verbindung
  • Pythonische Möglichkeit, zu prüfen, ob: alle Elemente zu False -OR- auswerten - alle Elemente werten auf True aus
  • Wie kann ich verhindern, dass xml.ElementTree ausstring von dropping commentnode
  • Lesen einer erweiterten Konfigurationsdatei mit Python
  • 3 Solutions collect form web for “Einige Charaktere, die '\' vor ihnen verwenden müssen, um zu löschen”

    Welche Zeichen brauchen sie, bevor sie aus einem Text löschen?

    Charaktere, die Sie müssen und müssen nicht entkommen, hängt von der regulären Ausdrucksanzeige ab, mit der Sie arbeiten.

    Zum größten Teil sind die folgenden Zeichen, die außerhalb der Charakterklassen entkommen müssen [] sind:

     .^$*+?()[{\| 

    Und die Zeichen ^-]\ müssen in den Charakterklassen entkommen. Es ist nicht immer nötig zu entkommen - innerhalb der Charakterklassen, aber für mich ist das viel sicherer zu tun.

    Aber beachten Sie, wie ich festgestellt habe, dass dies von der Regex-Angabe abhängt, mit der Sie arbeiten.

    Beispiele mit re.sub()

    Ersetzen Sie die, ( und ) in der Zeichenfolge ..

     oldStr = '(foo) bar (baz)' print re.sub(r'[()]+', '', oldStr) 

    Ausgabe:

     foo bar baz 

    Beispiel mit re.search()

    Wir verwenden re.search , um den Text zwischen dem ersten ( und ) in der Zeichenfolge zu finden. Wir entkommen dem ( nächstes verwenden Sie eine Regex-Capture-Gruppe ([a-zA-Z]+) Suche nach Wort-Charaktere, beenden sie mit )

     m = re.search('\(([a-zA-Z]+)\)', oldStr) print m.group(1) #prints 'foo' 

    Beispiel mit re.findall()

     m = re.findall(r'\(([a-zA-Z]+)\)', oldStr) print ", " . join(m) # prints `foo, baz` 

    Sonderzeichen ( . , ? , ( , ) , …) sollten entkommen, um wörtlich zu entsprechen:

    Hier finden Sie Sonderzeichen – Regular Expression Syntax .

    Aber du brauchst es nicht selbst zu tun. Sie können re.escape :

     >>> import re >>> re.escape('(') '\\(' >>> print(re.escape('(')) \( 

    Da aus deiner Frage es scheint, dass du nur bestimmte Charaktere aus einer Zeichenkette löschen möchtest, musst du gar nicht regex benutzen Der einfachste Weg, dies in Python zu tun, verwendet die replace von String-Objekten:

     >>> my_source = 'Hello, world!' >>> my_source.replace(", world", "") 'Hello!' 

    Wenn du eine Liste von Strings hast, die du aus deiner Eingabe löschen kannst, kannst du es so machen:

     >>> my_source = 'ABCDEFG_HI(JKLM).NOP' >>> deletions = ('_', '(', ')', 'EF', 'O') >>> for deletion in deletions: ... my_source = my_source.replace(deletion, "") ... >>> my_source 'ABCDGHIJKLM.NP' 
    Python ist die beste Programmiersprache der Welt.