Umschreiben eines Strings

  • Hallo liebe AutoIt-Experten,

    ich möchte einen kleines GUI mittels AutoIt erstellen, welches die Schreibweise von eingegebenen Koordinaten umwandelt.
    Der Hintergrund: ich habe zwei Karten-Programme für meine Bootsnavigation und muss dabei Koordinaten von dem einen Programm ins das andere übertragen.
    Das erste Programm schreibt die Koordinaten nach folgendem Schema:

    54°31.267'N 012°42.852'E

    Das zweite Programm kommt damit aber nicht klar, möchte die Koorindaten in diesem Format haben:

    N54 31.267
    E12 42.852

    Die Schwierigkeit für mich ist u.a. auch, die Strings vom Programm richtig auslesen zu lassen. Denn nicht immer haben die Koordinaten gleich viele Stellen (z.B. 54°1.26'N 02°2.852'E) und beim Zielformat werden überflüssig Nullen (wie oben die "0" vor der "12") weggelassen.

    Kann mir jemand helfen? Wie gehe ich das richtig an? Mit String-Befehlen oder einem Array?

    Vielen Dank im Voraus,

    Enzo

  • Mit einer Kombination aus beidem. ;)
    Entweder nutzt du StringRegExp (etwas komplizierter), oder _StringBetween.
    Ich würde so vorgehen:

    Code
    Input-String: 54°31.267'N 012°42.852'E
    StringSplit nach " " (Ergebnis im Beispiel: 54°31.267'N)
    _StringBetween nach Stringanfang und "°" (Ergebnis im Beispiel: 54) -> Gradzahl
    _StringBetween nach "°" und "'" (Ergebnis im Beispiel: 31.267) -> Koordinaten
    _StringBetween nach "'" und Stringende (Ergebnis im Beispiel: N) -> Richtung


    Das dann für den anderen Teil vom StringSplit wiederholen und fertig. :)

    chess