Großbuchstaben ...?

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.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Schon erstaunlich, wie kompliziert selbst so vermeintlich einfaches Zeugs wie deutsche Namensgebung sein kann... :shock:

Hab' mir mal ein paar Gedanken darüber gemacht, wie die Regeln zum Parsen ausschauen könnten:

Code: Alles auswählen

Wort        uppercase Zusatz Unbekannt  $
'Wo'            X
'steckt'                         X
'Karl'          X
'Heinz'         X
'von'                    X
'Hassel'        X
'wundert'                        X
'sich'                           X
'Herr'          X
'Wunder'        X                       X

- Ein uppercase wird entdeckt:
    - Folgewort ist uppercase        -> in queue
               oder Zusatz           -> in queue
    - Folgewort ist Unbekannt 
               oder $ 
                und queue nicht leer -> Namen bilden 
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Und "von und zu" wird noch nicht beachtet :P

Wenn du Namen per Whitelist erkennen willst, dann brauchst du a) eine sehr grosse und b) eine, die komplette Namen enthaelt. Aber da das neue Meldegesetz so ein riesiges Datenschutzloch ist, ist das herankommen ja vielleicht sogar einfach moeglich ...

Und dann gibt es immernoch lustige Randfaelle: "Hat Frank Josef Michael Heinz angerufen?" Na welche kompletten Namen kann man daraus alle bilden?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

cofi hat geschrieben:Und dann gibt es immernoch lustige Randfaelle: "Hat Frank Josef Michael Heinz angerufen?" Na welche kompletten Namen kann man daraus alle bilden?
Einen besonderen Randfall würde ich das noch nicht einmal nennen, mit zwei Namen ist das ja schon nicht mehr eindeutig: "Hat Frank Josef angerufen?" Also: "Hat [Frank] (den) [Josef] angerufen?" oder "Hat [Frank Josef] (dich/hier/heute) angerufen?"
Das Leben ist wie ein Tennisball.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Da die Eindeutigkeit wohl nicht immer gegeben ist, habe ich folgende ultimate Lösung, welche die Prüfung auf alle Sonderfälle erübrigt:

Code: Alles auswählen

def get_uppercases(sentence):
    words = [word for word in sentence.split() if word[0].isupper()]
    random.shuffle(words)
    return zip(words[::2], words[1::2])
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

"Hat Walter von der Vogelweide die Beeren geklaut?" ist halt ohne Zusatzwissen unentscheidbar. Die Möglichkeiten könnte man ja zurückgeben lassen, nur düfte das Regelwerk für die ganzen Sonderfälle ziemlich groß sein.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@EyDu, das stimmt, ich wollte aber noch den Fall mit Mittelnamen einbringen ... der blieb bisher komplett aussen vor.
Antworten