string2url

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hi, ich suche eine Funktion, um einen String zu formatieren. Dabei sollen Sonderzeichen oder Satzzeichen entfernt, Leerzeichen durch "-" ersetzt oder Umlaute wie ä in ae umgewandelt werden.

Also so ähnlich wie zum Beispiel in WordPress, wo der Titel in eine URL umgewandelt wird. Hat Python sowas "ab Werk"? Ich habe noch nichts gefunden.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
deets

Nein, hat es nicht. string.translate kannst du fuer sowas wie Leerzeichen zu Unterstrichen verwenden - am besten, indem du eine Positiv-Liste definierst, und alles andere auf Bindestriche oder Unterstriche abbildest.

Und fuer die Umlautewandlung wuerde ich das hier empfehlen, da du dann nicht explizit arbeiten musst:

Code: Alles auswählen


# -*- coding: utf-8 -*-
import unicodedata

s = u"äöü"

ns = unicodedata.normalize("NFD", s)
print ns.encode("ascii", "ignore")

Generell nennt man sowas das du suchst einen "slug" , und es mag sein, dass du da unter diesem Stichwort schon fertige Funktionen findest.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Danke für das Stichwort. Das hilft weiter.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

the more they change the more they stay the same
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Genau das hab ich schon gefunden und verwendet. Trotzdem danke :) Das Stichwort "slug" hat weitergeholfen
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Antworten