![]() |
Umlaute umwandeln in zeichenkette
Hallo erstmal
Wir behandeln zur zeit das Thema Zeichen an bestimmten stellen suchen. Daraufhin haben wir eine aufgabe bekommen, die lautet: Ein Programm sucht in einer Zeichenkette nach alle Umlauten (ä,ö,ü) und wandelt sie in ae,oe und ue um. Außerdem sollen wir die Zeichenkette an Datei laden (was auch immer das heist). Wir haben schon 10 min daran gearbeitet und keiner hat das irgendwie ansatzweise in einem quellcode verarbeiten können. Somit kommt jetzt meine Frage: könntet ihr mir einige Tips oder Lösungen für das Problem geben (letzte Rettung).Bitte helft mir. ps: habs schon alleine eine stunde probiert doch mir fällt nichts ein |
Re: Umlaute umwandeln in zeichenkette
Guten Abend,
wie willst Du denn die Zeichenkette darstellen, in einem Memo? -> Memo1.loadFromFile Zeichen ersetzen -> ![]() Grüße Klaus |
Re: Umlaute umwandeln in zeichenkette
Der Benutzer muss die Zeichenkette (z.B. häh) in ein edit feld eingeben und die Umlaute werden dann in einem label umgewandelt ausgegeben. Somit steht haeh da anstatt häh. Das umwandeln per button versteht sich ja.
|
Re: Umlaute umwandeln in zeichenkette
Also wenn ihr
![]() ![]() |
Re: Umlaute umwandeln in zeichenkette
Also im einfachsten Falle würde ich den String einfach zeichen für Zeichen in einer for-Schleife durchgehen, überprüfen ob das aktuelle Zeichen ein Umlaut ist, z.B. mit einer case-Struktur, und dann ggf. das Zeichen ersetzen und anschließend mithilfe der Funktion insert noch ein e anfügen.
Delphi-Quellcode:
Könnte man noch etwas vereinfachen mithilfe von Sets und Arrays, aber das überlasse ich dir.
case String[i] of
'ä': begin String[i] := 'a'; Insert('e', String, i+1); end; end; |
Re: Umlaute umwandeln in zeichenkette
was bedeutet das i in deinem code
|
Re: Umlaute umwandeln in zeichenkette
Hallo... :hi:
das [i] (Integer) stellt die Position des Cursors im String dar. Bsp. i:= 3 entspricht dem 3. Zeichen im String PS: case mit Strings funktioniert so nicht :warn: [edit] Kommando zurück... mit einzelnen "Buchstaben" gehts schon. nur nicht mit ganzen String´s[/edit] Zitat Hilfe: Zitat:
|
Re: Umlaute umwandeln in zeichenkette
In Pseudocode könnte das dann so aussehen:
Code:
Das in eine Funktion gepackt, die einen String entgegennimmt und einen String ausgibt, und das Problem sollte gelöst sein.
Laufvariable = 1
Ergebnis = '' Solange Laufvariable <= Stringlänge Eingangsstring wenn Eingangsstring[Laufvariable] ist 'ä': Ergebnis = Ergebnis + 'ae' 'ö': Ergebnis = Ergebnis + 'oe' 'ü': Ergebnis = Ergebnis + 'ue' ansonsten Ergebnis = Ergebnis + Eingangsstring[Laufvariable] Laufvariable = Laufvariable + 1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz