String Format Funktion

  • VB.NET

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

    String Format Funktion

    Hallo Liebe VB-Gemeine,

    ich steh grad auf der Leitung. Folgende Situation: Ein Text bzw ein String mit 10 Zeichen und der String soll so formatiert werden, dass nicht XXXXXXXXXX sonder XXX XXX XXXX da steht. (Die X sind Platzhalter und sollen die Chars des Strings dastellen)

    Ich hab mich schon letzt woche über die Funktion String.Format(formatVorlage, string1, string2) erkundigt, weil ich sie für die Ausrichtung brauchte, aber ich finde keine Möglichkeit wie man in Strings mit der Funktion Leerzeichen einfügt. Ich hab schon unter MSDN Microsoft und unter Openbook GalileoComputing nachgesehen. Hier wird aber nur die Formatierung von Datum oder Zahlen (MSDN) oder die Ausrichtung von Texten (Openbook) beschrieben.

    Also meine Frage: Kann man einen Text mit String.Format(formatVorlage, string1), wobei string1 "XXXXXXXXXX" ist, so umformatieren, dass "XXX XXX XXXX" rauskommt? Und kann mir wer sagen, was ich dann in formatVorlage reinschreiben muss, damit ich des so hinbekomm.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell

    VB.NET-Quellcode

    1. Dim test As String = "1234567890"
    2. test = String.Format("{0} {1} {2}", test.Substring(0, 3), test.Substring(3, 3), test.Substring(6, test.Length - 6))


    Bei einer Länge von 3 ist der Start des 2. Substring bei 3 (0 1 2).
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Dank dir Schamash, aber des mit den Substrings is n wenig kompliziert - find ich. Jedenfalls ich habs jetzt auch anders gelöst:
    Sofern ich den String den ich formatieren will als Zahl, sprich Integer oder whatever hernehme kann ich es auch mit

    VB.NET-Quellcode

    1. Dim formatVorlage As String = "{0,10:### ### ####}"
    2. TextBox1.Text = String.Format(formatVorlage, string1)


    Aber wenn ich einen wirklichen STRING, sprich einen echte ZEICHENkette formatieren will, glaub ich, wir man nicht um die Substrings rumkommen ;( ;( ;(
    Aber solange es so geht, bin ich zufrieden :D

    Wobei, auf der MSDN Seite wird doch unter "Benutzerdefinierte Numerische Formate" bei Zeichen (\) von Zeichenfolgenkonvertierung gesprochen
    Zuden Zeichen, die nicht als Literalzeichen angezeigt werden können,
    gehören die Zeichen zum Formatieren des Datums und der Uhrzeit (a, c, d, h, m, n, p, q, s, t, w, y, / und : ), die Zeichen zum Formatieren von Zahlen (#, 0, %, E, e, Komma und Punkt) und die Zeichen zum Formatieren von Zeichenfolgen (@, &, <, > und !).
    Ha jemand schon Erfahrung damit, wie man @, &, <, >, ! hernimmt? Ich hatte schon Versuche, bei denne ich den Formatstring so geschrieben habe

    VB.NET-Quellcode

    1. Dim format As String = "{0,10:@@@ @@@ @@@@}"


    Allerdings kam dabei nur Mist raus, zb. hat es mir den kompletten String mit "@" voll gemacht, also alle Character durch @ ersetzt. (Das selbe übrigens auch mit &, <, > und !
    ?(
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    deine formatVorlage ist ein FormatString, und das ist eine kleine Zeichen-Ersetzungs-Sprache (mit ziemlich kruder Syntax).
    Es gibt da zwar Platzhalterzeichen für Zahlen ('#', oder '0'), auch Platzhalter für Zeitwerte, und noch mehr so Kram, aber für Zeichen im allgemeinen gibts kein Platzhalter-Zeichen.

    hmm - im Grunde ist dieser Post sinnlos - du hast alles schon selbst herausgefunden, inklusive der Tatsache, dass die ganze Thematik schwierig und unübersichtlich ist - teilweise sogar sehr krude erscheint. :huh: