Ist es möglich, Instanziierung mit Zitaten für eine benutzerdefinierte STR -Klasse zu verwenden?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ist es möglich, Instanziierung mit Zitaten für eine benutzerdefinierte STR -Klasse zu verwenden?

by Anonymous » 14 Apr 2025, 19:17

Ich habe eine benutzerdefinierte Str -Klasse geschrieben, weil ich eine Coallfold () -Methode haben möchte, die deutsche und skandinavische Umlauts ersetzt (ä, Å, ö, Ø, ü…). Es erbt aus der Standard -STR -Klasse und ersetzt nur die Methode der CaseFold () nach der Verwendung davon.

Code: Select all

class str(str):
def casefold(self):
umlauts: dict ={
'ä': 'ae',
'ö': 'oe',
'ü': 'ue',
'œ': 'oe',
'ø': 'oe',
'æ': 'ae',
'å': 'aa',
}
string_ = self.__repr__().casefold()
for letter in string_:
if letter in umlauts:
string_ = string_.replace(letter, umlauts[letter])
return string_
Wenn ich Str () verwende, um eine Zeichenfolge zu instanziieren, funktioniert es gut:

Code: Select all

str('äåöøü').casefold()
"'aeaaoeoeue'"
, aber wenn ich mit '' instanziiert, wird die Standard -STR -Klasse verwendet.

Code: Select all

'äåöøüß'.casefold()
'äåöøüss'

type(str('äåöøü'))


type('äåöøüß')

Gibt es eine Möglichkeit, dies zu ändern, um die Instanziierung mit '' in die benutzerdefinierte Klasse zu ändern? Ich konnte nichts dazu finden.

Top