Bestimmte Stelle im String finden vb 2010

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von compufreak.

    Bestimmte Stelle im String finden vb 2010

    Hallo zusammen,
    Ich schreibe gerade an einem Programm, aber nun fehlt mir noch ein wichtiger Bestandteil :)
    Es klappt alles soweit, ABER ich muss innerhalb eines Strings eine Unbekannte finden.

    Ich habe als Beispiel den String: ! _ && yy ...... .... . .de 3434 MV X.S u c h s t r i n g _ 9 b h TZ w

    ich Suche innerhalb des strings nach "S u c h s t r i n g" (ist ein Beispiel!)und ich weiß, dass 2 Zeichen davor die UNBEKANNTE ist, die ich suche (als X markiert)

    davor, dahinter und überall sind alle möglichen Sonderzeichen, unter anderem auch alle möglichen chr-codes z.B für backspace usw.

    Also, wie komme ich an X und kann es ändern

    Danke schonmal für Hilfe :)
    Das hilft mir kein bisschen weiter, ausser, ob ich feststele, ob ein Suchstring vorhanden ist, aber nicht meiner und schon garnicht komme ich damit 2 Zeichen VOR meinen gesuchten String im String.

    hier nochmal ein Beispiel meines gesuchten substrings T & chr(0) & E & chr(0) & S & chr(0) T & chr(0)
    1-3 Zeichen DAVOR befindet sich dann ein unbekanntes Zeichen, welches ich ermitteln und ändern muss, NICHT den eigentlichen Substring, den ich gesucht habe.

    compufreak schrieb:

    und schon garnicht
    machst Du String-Arithmetik:

    VB.NET-Quellcode

    1. Dim txt = "123456bla"
    2. Dim index = txt.IndexOf("bla")
    3. If index >= 3 Then
    4. MessageBox.Show(txt.Substring(index - 3, 3))
    5. End If
    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!

    compufreak schrieb:

    Das hilft mir kein bisschen weiter, ausser, ob ich feststele, ob ein Suchstring vorhanden ist
    Nein, ob und wo er sich befindet.
    Ich hätte dir jetzt zugetraut, dass du selbst ein paar Zeichen zurückgehst.

    Aber oben hast du ja jetzt ein Beispiel.

    compufreak schrieb:

    aber nicht meiner
    Was ist 'deiner'?
    Du kriegst die Position des Strings, den du als Parameter angibst.
    Du musst schon 'deinen' angeben.

    Falls du einen ganzen Text mit vielen solcher Suchstrings bearbeiten willst, musst du halt die IndexOf-Überladung mit Startindex verwenden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich wollte mal nur Rückinfo geben, es hat geklappt, das Problem war immer nur der Anzeigefehler, da ich den String durch die ganzen Sonderzeichen nicht richtig darstellen konnte, da die Ausgaben immer nach chr(0) abgebrochen wurden, ist ja klar = NULL.