Ersetzen Sie nicht-alphanumerische Zeichen außer einige Ausnahmen python
In perl s/[^\w:]//g
ersetzen würden, alle nicht alphanumerischen Zeichen AUßER :
In python bin ich mit re.sub(r'\W+', '',mystring)
die nicht entfernen Sie alle nicht alphanumerischen außer _ - Unterstrich.
Gibt es eine Möglichkeit, um Ausnahmen, die möchte ich nicht ersetzen Zeichen wie = und .
Bisher war mir die Anwendung der anderen Ansatz, d.h. ersetzen Sie alle unerwünschten Zeichen mitre.sub('[!@#\'\"
$()]', ",meinString`)
Allerdings ist es mir nicht möglich, vorherzusagen, was alle Charaktere kommen können mystring daher möchte ich entfernen Sie alle nicht alphanumerischen Zeichen bis auf ein paar.
Google nicht bieten eine angemessene Antwort. Die nächste Suche wird python regex geteilt \W+ - mit einigen Ausnahmen aber das wollte nicht helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie angeben, alles, was Sie brauchen, entfernen Sie nicht in der negierende Charakter clas.
Test
Hier die
removelist
variable ist eine Zeichenkette, die die Liste enthält alle Zeichen, die Sie benötigen, um zu schließen aus der Entfernung.Was bedeutet negierte Zeichenklasse bedeutet
Wenn die
^
ist umgezogen in die Charakter-Klasse es nicht wirkt wie ein Anker, wo, wie es negiert die Zeichenklasse.Ist
^
in einem Charakter-Klasse sagen, wie[^abc]
es negiert die Bedeutung des Charakter-Klasse.Beispielsweise
[abc]
entsprechena
b
oderc
wo, wie[^abc]
nicht mita
b
oderc
. Die können auch so formuliert werden, wie alles andere alsa
b
oderc
^
in einem Charakter-Klasse sagen, wie[^abc]
es negiert die Bedeutung des Charakter-Klasse. Das ist[abc]
entsprechena
b
oderc
wo, wie[^abc]
nicht mita
b
oderc
. Das ist alles andere alsa
b
oderc
Können Sie hinzufügen, was Sie wollen, wie
_
je nachdem, was Sie speichern möchten.Ich glaube, der Ansatz, den Sie beschreiben, in perl könnte auch verwendet werden, in python, zB:
entfernen würde, alles außer word-Zeichen-und =