Textstellen überschreiben
Übersicht

GhostmaniacBetreff: Textstellen überschreiben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi zusammen,
bin nochnicht lange dabei und bräuchte ein bischen hilfe. Es geht darum das ich aus einer eingelesenen .txt datei bestimmte textstellen zwischen { und } überschreiben möchte ... hatte schon gegoogelt usw aber nichts brauchbares gefunden. Die Klammern möchte ich dabei mit bearbeiten. Danke schonmal für eure hilfe. MFG Ghost |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
wo ist das Problem? Beim Laden und speichern der Datei, oder beim Finden der Stellen, nachdem der Text schon in einem String ist?
Im String findest du die Stellen mit "{"-Klammern mit BlitzBasic: [AUSKLAPPEN] Da%=Instr(Text$, "{" , SuchAbStelle%) Ersetzen machst Du mit BlitzBasic: [AUSKLAPPEN] Text$= Left$(Text$, Da) + NeuString$ + Mid$(Text$, Da2%, -1) |
||
Ghostmaniac |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das problem liegt darin das ich von { bis } verändern will, also eine
unterschiedlich lange zeichenfolge wenn es um eine vorbestimmte anzahl ginge wüsste ich schon ne möglichkeit jedoch macht mir die unbekannte länge zu schaffen, naja ich bin halt noch ein blutiger anfänger. ^^ |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] ;ozzi789 / Blitzbasic / 12.3.10 Falls du das nicht begreifst oder verstehst (englisch) frag einfach ![]() mfg ozzi |
||
Ghostmaniac |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] datei = OpenFile("test.txt")
dateizwei = OpenFile("test2.txt") replacetxt$ = "" newdatei$=insert_txt_between$(txt$,replacetxt$,"{","}") CloseFile datei WriteString dateizwei, newdatei$ CloseFile dateizwei CloseFile datei End Function insert_txt_between$(ftxt$,ntxt$,sign1$,sign2$) pos1=Instr (ftxt$,sign1$,1) ;Detect how many Characters are left of Sign1 pos2=Instr (ftxt$,sign2$,1) ;Detect how many Characters are right of Sign2 pos1=pos1-2 ;We want the Sign2 also in the String Local leftpart$=Left(ftxt$,pos1) ;Copy the Left Part of the String (with Sign1) into leftpart$ Local rpos=Len(ftxt$)-pos2 ;Calculate where the right part starts (full lenght- Sign2 Position) Local rightpart$=Right(ftxt$,rpos);Copy the Right Part of the String (with Sign2) into rightpart$ Return leftpart$+ntxt$+rightpart$ ;Return the left, the new text, and the right part End Function so habe ich das jetzt abgeändert aber nu sagt er immer wenn ich starte Zitat: parameters must be positive.
was habe ich falsch gemacht? |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, bei den Befehlen...
BlitzBasic: [AUSKLAPPEN] Left(Text$, "{", Da%) ... oder MID(...) musst du peinlich darauf achten, dass du nicht versehentlich als Startwert Da% eine 0 übergibst. Es sind nur Werte von Pos. 1 bis Pos. Len(text) erlaubt. Die 0 tritt bei INSTR() dann auf, wenn das Zeichen gar nicht gefunden wird. In deinem Beispiel vergisst du komplett den Text aus der Datei überhaupt in eine Variable Txt$ einzulesen. BlitzBasic: [AUSKLAPPEN] Datei = OpenFile("test.txt") So wäre es besser: Die Datei öffnen, Zeile um Zeile einlesen, konvertieren und in die 2.Datei zurückschreiben. In der Funktion findest du jetzt eine Stelle, die das komplette Fehlen der "{" "}"-Zeichen abfängt und dann korrekterweise den Originalstring zurückgibt. |
||
- Zuletzt bearbeitet von Midimaster am Fr, März 12, 2010 16:00, insgesamt einmal bearbeitet
Ghostmaniac |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
juhu es funktioniert danke euch nochmal^^ | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte überleg dir auch wieso, so ist der Lerneffekt für dich am grössten ![]() mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Ghostmaniac |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
werde ich machen^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group