Seite 1 von 1

string2url

Verfasst: Donnerstag 29. Dezember 2011, 13:43
von burli
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.

Re: string2url

Verfasst: Donnerstag 29. Dezember 2011, 14:08
von 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.

Re: string2url

Verfasst: Donnerstag 29. Dezember 2011, 14:32
von burli
Danke für das Stichwort. Das hilft weiter.

Re: string2url

Verfasst: Donnerstag 29. Dezember 2011, 15:19
von Dav1d

Re: string2url

Verfasst: Donnerstag 29. Dezember 2011, 15:41
von burli
Genau das hab ich schon gefunden und verwendet. Trotzdem danke :) Das Stichwort "slug" hat weitergeholfen