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) 

  • Kann auf AppEngine SDK-Sites über lokale IP-Adresse zugreifen, wenn localhost gut funktioniert und ein MacOSX
  • Bildinformation entlang eines Polarkoordinatensystems
  • "Erwartete Art" Union [str, bytearray] 'hat' int 'stattdessen "Warnung in Schreibmethode"
  • Gruppieren und aggregieren die Werte einer Liste von Wörterbüchern in Python
  • Matplotlib wie man Zecken anfängt, die Raum von der Achsursprung verlassen
  • Wie man <div> tag anstelle von <li> hinzufügt
  • Kann keine Globale Bibliothek ohne Root-Berechtigungen installieren
  • So laden Sie eine Datei mit Python herunter
  • Wie man einen Button mit dem tkinter Canvas Widget macht?
  • String.upper (<str>) und <str> .upper () wird nicht ausgeführt
  • Python-Unterprozess: Pipe ein Bild Blob zu imagemagick Shell-Befehl
  • Wie kann ich ipythons machen RichIPythonWidget verwenden pyside in einer pyinstaller Umgebung?
  • 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.