Ersetzen eines Wertes in Visual Basic
Hallo zusammen
Ich habe ein Problem mit dem ersetzen eines Wertes in Visual Studio.
Mein Problem ist folgendes:
- Wie ersetze ich einen Wert in einem String mit einem jeweiligen anderen Wert?
Natürlich habe ich das Internet schon genutzt und schnell festgestellt, dass es eigentlich mit dem Befehl "Replace(Dateiinhalt, ",", " ")" klappen müsste ... (was es aber nich tut)
- Ich habe schon andere Sonerzeichen genommen, mit der möglichkeit die zu erkennen.
- Den Block mit dem "schliessen der Datei" bzw. "ersetzen" wurden vertauscht.
Stehe ehrlich gesagt vor einem Rätsel, bei dem ich nicht weiter komme ...
Mein Code:
'Bestimmen und deklarieren der Variablen
Dim objStreamWriter As StreamWriter
Dim Dateiinhalt As String
'Einlesen der Datei
Dateiinhalt = My.Computer.FileSystem.ReadAllText("Dateiname zum Einlesen")
'Erstellen der Datei im Texteditor
objStreamWriter = New StreamWriter("Dateiname zum Ausgeben")
'Einfügen des Strings "Dateiinhalt" in die Datei
objStreamWriter.Write(Dateiinhalt)
'Schliessen der Datei
objStreamWriter.Close()
'Ersetzen des Teilstrings , durch ein Leerschlag
Replace(Dateiinhalt, ",", " ")
Schon im voraus danke, für die Mühe die ihr aufwendet.
Grüsse
MisterGoogleHupf
Ich habe ein Problem mit dem ersetzen eines Wertes in Visual Studio.
Mein Problem ist folgendes:
- Wie ersetze ich einen Wert in einem String mit einem jeweiligen anderen Wert?
Natürlich habe ich das Internet schon genutzt und schnell festgestellt, dass es eigentlich mit dem Befehl "Replace(Dateiinhalt, ",", " ")" klappen müsste ... (was es aber nich tut)
- Ich habe schon andere Sonerzeichen genommen, mit der möglichkeit die zu erkennen.
- Den Block mit dem "schliessen der Datei" bzw. "ersetzen" wurden vertauscht.
Stehe ehrlich gesagt vor einem Rätsel, bei dem ich nicht weiter komme ...
Mein Code:
'Bestimmen und deklarieren der Variablen
Dim objStreamWriter As StreamWriter
Dim Dateiinhalt As String
'Einlesen der Datei
Dateiinhalt = My.Computer.FileSystem.ReadAllText("Dateiname zum Einlesen")
'Erstellen der Datei im Texteditor
objStreamWriter = New StreamWriter("Dateiname zum Ausgeben")
'Einfügen des Strings "Dateiinhalt" in die Datei
objStreamWriter.Write(Dateiinhalt)
'Schliessen der Datei
objStreamWriter.Close()
'Ersetzen des Teilstrings , durch ein Leerschlag
Replace(Dateiinhalt, ",", " ")
Schon im voraus danke, für die Mühe die ihr aufwendet.
Grüsse
MisterGoogleHupf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 78227
Url: https://administrator.de/contentid/78227
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
6 Kommentare
Neuester Kommentar
Replace(Dateiinhalt, ","," ")
Also lt. MSDN (http://msdn2.microsoft.com/en-us/library/fk49wtc1.aspx)) sollte
Dateiinhalt=Dateiinhalt.Replace(","," ")
funktionieren.
Hallo MisterGoogleHupf und willkommen im Forum!
Wie sieht's aus, wenn Du zusätzlich noch etwas die Reihenfolge änderst (nach dem "objStreamWriter.Close()" ist der Kuchen schon lange gegessen - SCNR):
Grüße
bastla
Wie sieht's aus, wenn Du zusätzlich noch etwas die Reihenfolge änderst (nach dem "objStreamWriter.Close()" ist der Kuchen schon lange gegessen - SCNR):
'Bestimmen und deklarieren der Variablen
Dim objStreamWriter As StreamWriter
Dim Dateiinhalt As String
'Einlesen der Datei
Dateiinhalt = My.Computer.FileSystem.ReadAllText("Dateiname zum Einlesen")
'Ersetzen des Teilstrings , durch ein Leerschlag
Dateiinhalt = Replace(Dateiinhalt, ",", " ")
'Erstellen der Datei im Texteditor
objStreamWriter = New StreamWriter("Dateiname zum Ausgeben")
'Einfügen des Strings "Dateiinhalt" in die Datei
objStreamWriter.Write(Dateiinhalt)
'Schliessen der Datei
objStreamWriter.Close()
Grüße
bastla
Hallo Mister GoogleHupf!
Da ich ja gerne mal ein Ratespiel absolviere, nehme ich an, Du versuchst den Code unter VB2005 auszuführen - in diesem Fall wäre nicht "StreamWriter", sondern "IO.StreamWriter" zu verwenden (und dann macht das Programm, vorausgesetzt es werden gültige Dateinamen der Art "D:\Test\InFile.txt" verwendet, auch was es soll).
Grüße
bastla
Da ich ja gerne mal ein Ratespiel absolviere, nehme ich an, Du versuchst den Code unter VB2005 auszuführen - in diesem Fall wäre nicht "StreamWriter", sondern "IO.StreamWriter" zu verwenden (und dann macht das Programm, vorausgesetzt es werden gültige Dateinamen der Art "D:\Test\InFile.txt" verwendet, auch was es soll).
Grüße
bastla
Hallo MisterGoogleHupf!
Wie gesagt - bei mir funktioniert der oben stehende Code, und dass bei Dir durch
noch nicht einmal eine leere Datei erzeugt wird, kann ich mir nicht erklären (einen vollständigen Pfad hast Du doch sicherlich angegeben) ...
Kurz möchte ich aber doch noch das eigentliche Thema dieses Threads ansprechen: Dass das "Replace" in der angegebenen Schreibweise geklappt hat, kannst Du durch die Kontrolle des Variableninhaltes von "Dateiinhalt" vor und nach dem "Replace" feststellen, auch wenn tatsächlich keine Datei erzeugt werden sollte.
Grüße
bastla
... habe ich dir vergessen ein nicht gerade unwichtiger Teil des Programms zu zeigen ...
... womit sich zumindest diese Fehlerquelle ausschließen lässt. Sollte ich noch etwas wissen? ... sollte es mit IO.objStreamWriter nicht ein Unterschied geben?
Sobald Du es geschafft hast, "objStreamWriter" zu deklarieren, ist das vermutete Problem ohnehin vom Tisch. Ansonsten wäre es (ohne den Import der angeführten Klassen) so gemeint gewesen:Dim objStreamWriter As IO.StreamWriter
Wie gesagt - bei mir funktioniert der oben stehende Code, und dass bei Dir durch
objStreamWriter = New StreamWriter("Dateiname zum Ausgeben")
Kurz möchte ich aber doch noch das eigentliche Thema dieses Threads ansprechen: Dass das "Replace" in der angegebenen Schreibweise geklappt hat, kannst Du durch die Kontrolle des Variableninhaltes von "Dateiinhalt" vor und nach dem "Replace" feststellen, auch wenn tatsächlich keine Datei erzeugt werden sollte.
Grüße
bastla