Python: Sonderzeichen in Strings ausschließen?

2 Antworten

Hallo,

da musst du dann die Sonderzeichen ersetzen:

newstr = oldstr.replace("[", "")

Über diesen Aufruf ersetzt du also die eckigen Klammern mit einem leeren String.

JulianABC 
Fragesteller
 24.05.2017, 11:49

Danke, es funktionier. Gibt es aber noch eine elegantere Methode als alle Sonderzeichen einzugeben?  

!"§$%&/()=?=;:-,.-/*-+><|-_#'~*\}][{

Zumal ich jetzt das Problem habe, dass Strings welche nur aus Sonderzeichen bestehen als leere Zeile angezeigt werden.

0
Helferlein1001  24.05.2017, 11:54
@JulianABC

Das ist eigentlich die beste Methode. Wenn Du einen String Zeile für Zeile ausgeben möchtest und du plötzlich wegen den Replacements eine leere Zeile hast, würde ich nur Zeilen ausgeben die kein leerer String ("") sind. ALso vorher mit einem if-Statement checken

1
Tuxgamer2  24.05.2017, 12:53
@Helferlein1001

Nein, natürlich ist das bei weitem nicht die beste Methode.

Wenn dann bitte mit Regex - wie ja bereits geschrieben wurde.

0

Üblicherweise nimmt man für komplexe Stringoperationen sogenannte reguläre Ausdrücke.

Also:  <Unsichtbareszeichen><Klammerauf><IrgendwasInIrgendeinerLängeOhneKlammerZu><Klammerzu><Unsichtbareszeichen> kannst Du ersezten duch einen string mit länge null.

Der Reguläre ausdruck schaut so aus:    \s\[.*?\]\s

http://www.regular-expressions.info/python.html

https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck

Willkommen in der exzellenten Welt der Regulären Ausdrücke ^^