Wie kann ich einen Teil, von einer Zeile aus einer Textdatei löschen?
z.B. hier:
Zettel-berg [NICHT DA] bla blasf F23nf fopjpwfwf wtwttw
so dass alles hinter dem [ weg editiert ist.
Wie kann ich einen Teil, von einer Zeile aus einer Textdatei löschen?
z.B. hier:
Zettel-berg [NICHT DA] bla blasf F23nf fopjpwfwf wtwttw
so dass alles hinter dem [ weg editiert ist.
Hey,
also nur "marius" soll von der Zeile übrig blieben?
Wenn der Name immer durch ein "_" abgetrennt wird, dann kannst du einfach mit Stringsplit arbeiten.
[autoit]
$string = "marius_- [Online] 15 W PM an adii_- PM-Menü Markt Indersdorf"
$astringsplit = stringsplit($string, "_")
msgbox(1, "", $astringsplit[1])
#include <File.au3>
Global $aLine
_FileReadToArray("a.txt", $aLine)
For $i = 1 To UBound($aLine) -1
$a = StringSplit($aLine[$i],"_")
MsgBox(0,"test",$a[1])
Next
zwar zu langsam, aber mit FileReadToArray
Wenn das von 'nuts' Gesagte nicht zutrifft, solltest Du am besten einmal 10-20 unterschiedliche Beispielzeilen liefern. Dann kann man Dir bestimmt ein günstige Möglichkeit zeigen.
blub
Hallo Whos you,
da must du nur den "_" gegen "[" tauschen und es funktioniert,
mfg (Auto)Bert
#include <File.au3>
Global $aLine
_FileReadToArray("a.txt", $aLine)
For $i = 1 To UBound($aLine) -1
$a = StringSplit($aLine[$i],"[")
$File = FileOpen("b.txt",1)
_FileWriteToLine("b.txt",$i, $a[1])
Next
FileClose($File)
So, das macht es jetzt "fast" so, wie du es gerne hättest ( denke ich ). Ich kenne nur grade keine Funktion, mit der man Zeilen überschreiben / ersetzen kann. Deswegen schreibt er es in eine neue Datei, die du dann einfach Unbenennst via Autoit, oder Manuell.
Danke, jetzt geht's!
er schafft aber so nicht alle da kommt nen Erro
C:\Users\User\Desktop\ProJec.au3 (81) : ==> Unable to parse line.:
^
^ ERROR
>Exit code: 1 Time: 2.931r...
Kannst du selber zumachen, indem du den ersten Post von dir Bearbeitest.
; ggf. $text = FileRead("dateiname.txt")
$text = "adii_- [Online] 15 W PM an adii_- PM-Menü Markt Indersdorf" & @CRLF & _
"Adio_ [Nicht am PC / abwesend] -- M PM an Adio_ Profil von: Adio_ Paunzhausen" & @CRLF & _
"aDore-yOu [Nicht am PC / abwesend] -- -- PM an aDore-yOu Erweitertes Profil Odelzhausen" & @CRLF & _
"Adäää [Online] 22 M PM an Adäää PM schreiben Rohrbach" & @CRLF & _
"aerztin90 [Online] 18 W PM an aerztin90 PM-Menü Schrobenhausen" & @CRLF & _
"affairs_ [Online] -- W PM an affairs_ Profil von: affairs_ Dachau"
$text = StringRegExpReplace($text," \[.*","")
Msgbox(0,"",$text)
Wobei mir noch nicht klar ist, was alles zum "Usernamen" gehört
er schafft aber so nicht alle da kommt nen Erro
C:\Users\User\Desktop\ProJec.au3 (81) : ==> Unable to parse line.:
^
^ ERROR
>Exit code: 1 Time: 2.931r...
Poste doch mal dein ganzes Skript.
Edit:
[autoit]#include <File.au3>
Global $aLine
_FileReadToArray("a.txt", $aLine)
For $i = 1 To UBound($aLine) -1
$a = StringSplit($aLine[$i],"[")
If @error Then ContinueLoop
_FileWriteToLine("a.txt",$i, $a[1],1)
Next
Diese Version Überschreibt sogar die alten Zeilen. Habs gefunden
Bei _FileWriteToLine, der letzte Parameter, da kann man angeben ob überschrieben werden soll oder nicht.
Da macht der gar nichts @SiLenCa
Komisch, bei mir funktioniert es einwandfrei. In meine Textdatei stehen alle von dir oben genannten Zeilen.
Beachte: Es wird in die Gleiche Zeile geschrieben. Also bei _FileRead... den gleichen Namen der Textdatei verwenden, wie bei _FileWrite...
Edit: Mach aber lieber ein Backup, befor du deine Datei beschädigst.
Ne, der macht nicht alle Zeilen...
Lad die Datei, wie sie vorher ist mal hoch. Dann schaue ich mir das Selber mal an.
hier..
Hehe mit der .txt Datei kanns ja so nicht klappen.
Irgendwie ist mir auch nicht klar, was genau zum Namen gehört. Wodurch wird dieser eindeutig getrennt?