Vergleichen von Strings

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Vergleichen von Strings

    Hallo,

    ich muss in einem Programm zwei Strings vergleichen. Einer dieser Strings kommt aus einer API-Schnittstelle und der andere aus dem SAP.
    Nun kann es sein, dass einer der Strings "●" lautet und der andere "¤". Das ist ja im Grunde das Gleiche. Gibt es einen Weg den Code / das Zeichen umzuwandeln?
    Wenn ja, in welche Richtung wäre es besser?

    MFG
    Lycoor
    Also das Gleiche isses nicht.
    Ist ja nen anderes Zeichen.
    Du kannst natürlich dich für eines der beiden entscheiden und mit Suche und Ersetze (Replace) einfach eines von beiden tauschen.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    lycoor24 schrieb:

    Das ist ja im Grunde das Gleiche.
    Gib mal beim Generieren der Strrings diesen ein Encoding mit (Konvertieren von ANSI-Strings in dieselbe Codepage), danach sollten sie "richtig" übereinstimmen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wie liest du die Daten ein?
    Schau dir mal die Überladungen der Lesefunktion an. Dort wird in der Regel immer eine Encodingangabe ermöglicht

    VB.NET-Quellcode

    1. Using sr As New System.IO.StreamReader("C:\Temp\Testdatei.csv", System.Text.Encoding.UTF8)
    2. 'Hier die Verarbeitung
    3. End Using​
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    lycoor24 schrieb:

    @RedFormGermany
    Nicht Rot sondern Rod. :D
    Ansonsten wie von @MemoAnMichSelbst gesagt.
    -----
    Wer ruft wie die Funktion

    lycoor24 schrieb:

    VB.NET-Quellcode

    1. attVergleich
    auf?
    Und
    Mach Option Strict On.


    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Beim Lesen der Daten wird festgelegt wie sie codiert sind. Nur wenn du zwei gleiche Codierungen hast, kannst du diese in einer Funktion vergleichen. Mal davon ab, dass deine Funktion keinen Typ hat.
    Wenn du in Visual Studio Option Strict On stellst, wird er dir den Fehler auch direkt um die Ohren hauen.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    lycoor24 schrieb:

    Der eine String sieht so aus: ●
    Der Andere so: "& # 9 6 7 9 ;" (ohne die Leerzeichen)
    Was soll das? Unterschiedlichere Strings kanns ja wohl kaum geben.

    Kannst du vlt. paar sinnvolle Beispiele anbringen, welche "unterschiedlichen" Strings als gleich gelten sollen?

    Möglicherweise sind sie ja auch bereits gleich, und werden in verschiedenen Progs nur mit verschiedenen Zeichensätzen dargestellt.
    Dann wäre die Aussage

    lycoor24 schrieb:

    einer der Strings "●" lautet und der andere "¤". Das ist ja im Grunde das Gleiche.
    sogar sinnvoll und richtig.
    Dann brauch man aber auch nix extra zu unternehmen, denn bei String-Vergleichen spiel ja eh keine Rolle, mit welchem Zeichensatz sie auf dem Bildschirm dargestellt werden.