Problem mit RegExps und Sonderzeichen
Verfasst: Dienstag 29. Mai 2007, 21:03
Hallo Forum,
ich habe hier ein Problem: In einem Text moechte ich jedes Sonderzeichen, das nicht inerhalb von <tags> auftaucht, durch ein "\n" + das selbe Sonderzeichen + "\n" ersetzen.
Allerdings beschwert sich Python, sobald man ein bedeutungsschwangeres Zeichen verwendet. Es kommen dann zB. Meldungen wie "unbalanced parentheses" bei "(".
Wenn ich jedoch die einzelnen Strings mit re.escpae(string) bearbeite, frisst Python 16 GB RAM, bevor ich den Prozess kille.
Bisher habe ich es so versucht:
string ist der gesamte Text, in dem ersetzt werden soll. Das fuehrt zu obigem Ergebnis. Hat jemand eine Tipp fuer mich? (Man wird es wahrscheinlich am Code merken, ich bin ziemlicher Anfaenger.)
ich habe hier ein Problem: In einem Text moechte ich jedes Sonderzeichen, das nicht inerhalb von <tags> auftaucht, durch ein "\n" + das selbe Sonderzeichen + "\n" ersetzen.
Allerdings beschwert sich Python, sobald man ein bedeutungsschwangeres Zeichen verwendet. Es kommen dann zB. Meldungen wie "unbalanced parentheses" bei "(".
Wenn ich jedoch die einzelnen Strings mit re.escpae(string) bearbeite, frisst Python 16 GB RAM, bevor ich den Prozess kille.
Bisher habe ich es so versucht:
Code: Alles auswählen
for i in re.findall('(?s)>(.+?)<', string):
string = re.sub(i, re.sub('([^\d\w\s])', '\n\1\n', i), string)