AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Buchstaben normalisieren

Ein Thema von Daniel · begonnen am 15. Nov 2008 · letzter Beitrag vom 15. Nov 2008
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#1

Buchstaben normalisieren

  Alt 15. Nov 2008, 08:52
Moin,

ich bin in einem Projekt gerade dabei, ein Inhaltsverzeichnis aus einer Handvoll gegebener Einträge zu erstellen. Zuerst werfe ich die Einträge aus, die mit Ziffern beginnen, danach die, die mit Sonderzeichen beginnen und am Ende die, die mit Sonderzeichen beginnen. Die Einträge, die mit Buchstaben beginnen, sind gruppiert: Also erst alle mit 'A', dann alle mit 'B' und so weiter ...

Wie falte ich jetzt beispielsweise 'Ä' mit in die Gruppe von 'A' oder 'ß' beispielsweise mit in die Gruppe von 'S'? Sprich: Wie kann ich "Buchstaben-Varianten" auf ihre Grundform reduzieren ohne dies jetzt explizit im Code mit IF und SWITCH (ist ein PHP-Projekt) auszuformulieren? Das Ganze geht ja noch weiter mit Spielereien wie 'Ç' oder 'Ñ', die dann auf 'C' bzw. 'N' gefaltet werden sollten.

Gibt es dafür Ideen, Ansätze, Stichworte, nach denen ich suchen kann? Mein bisherigen Ansatz war es, Charakterklassen mit den Grundbuchstaben 'A' bis 'Z' zu erstellen, in ihnen dann deren "Varianten" aufzulisten und bei der Abarbeitung dann etwaige Änderungen vorzunehmen. Schön ist das aber nicht.
(Für den Anfang reicht eine Unterstützung des west-europäischen Sprachraumes.)
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Buchstaben normalisieren

  Alt 15. Nov 2008, 08:55
Hi,

das Problem hatte ich auch mal: Hier mein Thread

http://www.delphipraxis.net/internal...hlight=unicode
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
punkt21

Registriert seit: 6. Sep 2008
11 Beiträge
 
#3

Re: Buchstaben normalisieren

  Alt 15. Nov 2008, 08:56
also ich würd mir n array nehmen, das mit allem füllen, in der reihenfolge, die du willst und dann für jeden buchstaben durchgehen :p
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Buchstaben normalisieren

  Alt 15. Nov 2008, 09:10
@alzaimar: Danke, das werde ich mir ansehen. Wenngleich mir bei meinem PHP-Projekt die schicke Lösung über den Normalisierer von C# oder die Vista-DLL leider verwehrt bleibt. Mal sehen, ob man die Textdatei halbwegs performant verarbeiten kann.

@punkt21: So mache ich es im Moment, aber ich wollte es vermeiden, alle Einträge per Hand in das Array zu schreiben.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Buchstaben normalisieren

  Alt 15. Nov 2008, 09:27
Zitat von Daniel:
danach die, die mit Sonderzeichen beginnen und am Ende die, die mit Sonderzeichen beginnen.
Interessante Reihenfolge

Vielleicht hilft dir das hier weiter, das hört sich nach einem PHP-Equivalent für die C#-Klasse an
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#6

Re: Buchstaben normalisieren

  Alt 15. Nov 2008, 09:27
gibt es nicht in PHP einige Vergleichs-/Sortiervermethoden, welche sich an der "natürlichen Sprache", oder so, orientieren ... könnte man sich da nicht die Vergleichsfunktion zu nutze machen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Buchstaben normalisieren

  Alt 15. Nov 2008, 09:41
Evtl. nimmt soundex Dir schon mal etwas Arbeit ab.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz