Text in " " ändern

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    Text in " " ändern

    Tag.
    Ich habe eine PHP Datei.
    Diese sieht ungefähr so aus:

    PHP-Quellcode

    1. $name = "blabla";
    2. $passwort = "blabla";


    Nun möchte ich per vb.net anwendung diesen Inhalt ändern.
    Erste Idee war die Datei auszulesen, mit .replace die stelle zu ändern, und wieder den inhalt in die Datei schreiben.
    Ich kann das .replace aber nirgendwo fest anbinden. Welche möglichkeiten gibt es noch?
    Die Methode (indem falle regex) ist nicht das Problem.
    Ich habe keinen festen anhalts punkt, denn der Text inhalt ändert sich immer, sowohl auch die länge des Textes.
    Wie kann ich das in den " " raussplitten, und dann auch wieder reinschreiben?
    Nicht schön, klappt aber...

    VB.NET-Quellcode

    1. Dim sr As StreamReader = New StreamReader("C:\Users\Philipp\Desktop\quelltext.txt")
    2. Dim line As String
    3. Do
    4. line = sr.ReadLine()
    5. If Not line Is Nothing Then
    6. If line.StartsWith("$name") Then
    7. Dim PosErstesAnfuehrungszeichen = line.IndexOf("""")
    8. line = line.Remove(0, PosErstesAnfuehrungszeichen + 1)
    9. Dim PosLetzesAnfuehrungszeichen = line.LastIndexOf("""")
    10. line = line.Remove(PosLetzesAnfuehrungszeichen)
    11. End If
    12. If line.StartsWith("$passwort") Then
    13. Dim PosErstesAnfuehrungszeichen = line.IndexOf("""")
    14. line = line.Remove(0, PosErstesAnfuehrungszeichen + 1)
    15. Dim PosLetzesAnfuehrungszeichen = line.LastIndexOf("""")
    16. line = line.Remove(PosLetzesAnfuehrungszeichen)
    17. End If
    18. End If
    19. Console.WriteLine(line)
    20. Loop Until line Is Nothing
    21. sr.Close()

    Artentus schrieb:

    Wenn du nicht weißt, was das ist, dann ist diese Aussage hier falsch:

    SchokoMilch schrieb:

    Die Methode (indem falle regex) ist nicht das Problem.

    Schau dir RegEx mal an, damit kannst du dein Vorhaben recht leicht umsetzen. *Link*

    Und wie soll ich mit RegEx eine bestimmte Zeile suchen bzw. nach dem String $name?



    Philipp66 schrieb:

    Nicht schön, klappt aber...

    VB.NET-Quellcode

    1. Dim sr As StreamReader = New StreamReader("C:\Users\Philipp\Desktop\quelltext.txt")
    2. Dim line As String
    3. Do
    4. line = sr.ReadLine()
    5. If Not line Is Nothing Then
    6. If line.StartsWith("$name") Then
    7. Dim PosErstesAnfuehrungszeichen = line.IndexOf("""")
    8. line = line.Remove(0, PosErstesAnfuehrungszeichen + 1)
    9. Dim PosLetzesAnfuehrungszeichen = line.LastIndexOf("""")
    10. line = line.Remove(PosLetzesAnfuehrungszeichen)
    11. End If
    12. If line.StartsWith("$passwort") Then
    13. Dim PosErstesAnfuehrungszeichen = line.IndexOf("""")
    14. line = line.Remove(0, PosErstesAnfuehrungszeichen + 1)
    15. Dim PosLetzesAnfuehrungszeichen = line.LastIndexOf("""")
    16. line = line.Remove(PosLetzesAnfuehrungszeichen)
    17. End If
    18. End If
    19. Console.WriteLine(line)
    20. Loop Until line Is Nothing
    21. sr.Close()

    Das lädt das ganze raus. Gibts dazu auch ein Tutorial zum schreiben?
    Das Pattern hab ich dir doch schon gegeben, du brauchst nur noch die Gruppe Value durch ein Leerzeichen zu ersetzen.
    Oder du änderst das Pattern unter Zuhilfenahme von lookforward und lookbehind, dann brauchst du gar keine Gruppen mehr zu ersetzen sondern kannst alles ersetzen.