Umlaute ersetzen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Umlaute ersetzen

    Hallo zusammen,

    ich habe folgendes Problem:
    Ich soll ein Programm schreiben, dass eine Textdatei öffnet und alle "ä" durch "ae" und "ü" durch "ue" und "ö" durch "oe" und "ß" durch "ss" ersetzt. Das Resultat soll ich einer anderen Datei gespeichert werden.

    Ich habe nun dies geschrieben:

    Quellcode

    1. Sub Sonderzeichen_ersetzen()
    2. Dim DNameget As String
    3. Dim DNameput As String
    4. Dim Pos As Integer
    5. Dim Zeichen As String * 1
    6. Dim Zeichenneu As String * 2
    7. DNameget = Application.GetOpenFilename
    8. DNameput = Application.GetSaveAsFilename
    9. Open DNameget For Random As #1 Len = 1
    10. Open DNameput For Random As #2 Len = 2
    11. Pos = 1
    12. Do
    13. Get #1, Pos, Zeichen
    14. Zeichenneu = Zeichen
    15. If Zeichen = "ä" Then Zeichenneu = "ae"
    16. If Zeichen = "ö" Then Zeichenneu = "eo"
    17. If Zeichen = "ü" Then Zeichenneu = "ue"
    18. If Zeichen = "ß" Then Zeichenneu = "ss"
    19. If Zeichen = "Ä" Then Zeichenneu = "Ae"
    20. If Zeichen = "Ö" Then Zeichenneu = "Oe"
    21. If Zeichen = "Ü" Then Zeichenneu = "Ue"
    22. Put #2, Pos, Zeichenneu
    23. Loop Until EOF(1)
    24. Close #1
    25. Close #2
    26. End Sub
    Alles anzeigen

    Das Problem ist nun, dass auch alle anderen Buchstabe nun 2-stellig werden. Das heißt ein Leerzeichen wird eingefügt.
    Ich weiß, dass es auch viele andere Möglichkeiten gibt, die Aufgabenstellung zu lösen. Aber das Programm sollte schon so in der Art aufgebaut sein.
    Kann mir da vielleicht jemand helfen?

    Danke schön schonmal!
  • Hallo


    Wir müssen hier mal ComboBox einfügen, wo man auswählen kann, obs VB oder VB.NET ist...

    welche Version verwendest du denn?

    in VB.NET gibts bei String Datentyp ganz schöne Funktion Replace...

    falls du noch mit älteren Versionen unterwegs bist, würde ich vorschlagen, dass du erstmal den kompletten Text in eine String Variable einliest, es dann mit iner For schleife durchläufst und am ende wieder in die Datei speicherst.

    Verbraucht mehr speicher, aber ehrlich gesagt habei ch kaum erfahrung in normalen Vb... nur VB.NET

    mfG, Niko