Erstes Wort eines Strings erkennen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Pdd

Betreff: Erstes Wort eines Strings erkennen

BeitragDo, Jul 13, 2006 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo.
Ich bastle grade mehr so zum Spass an einem Batch-Editor. Damit kann man Batch-Dateien auf "leichte" weise erstellen. Nun es gibt auch eine Funktion, mit der man eine Zeile aus dem Batch.Code wieder löschen kann. Nur leider muss ich davon ausgehen, das der Benutzer des Programms sich nicht mit Batch auskenn. also z.b. nicht weis, was echo heist. GIbt es eine möglichkeit, nun das ERSTE Wort dieses Strings zu erkennen?
Also:
"echo halihalo!" <- das ist der String.
Nun, wenn man diese Zeile löschen will, soll ein Hint agezzeigt werden, was diese Zeile bewirkt. Zum Glück kann man in Batch das erste Wort als "erkennung" nutzen. Nur wie kann ich dieses erste Wort "abschneiden"?
thx schonmal Razz

Blitzcoder

Newsposter

BeitragDo, Jul 13, 2006 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
dafür gibt es die befehle left und instr. left gibt dir die linken x buchstaben eines strings, und instr such in strings. man sucht das erste leerzeichen raus, und gibt alles links davon aus. Ich hab mal eben eine Funktion gecodet:
Code: [AUSKLAPPEN]
Print ersteswortabschneiden("echo Hallo")
WaitKey
End

Function ersteswortabschneiden$(befehl$)
a=Instr(befehl$," ")
Return Right$(befehl$,Len(befehl)-a+1)
End Function



MfG Blitzcoder
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
  • Zuletzt bearbeitet von Blitzcoder am Do, Jul 13, 2006 19:57, insgesamt einmal bearbeitet

Willi die Rübe

BeitragDo, Jul 13, 2006 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Suche mit ql:Instr nach dem ersten Leerzeichen und schneide dann den Text mit ql:Mid raus.
Code: [AUSKLAPPEN]

zeile$ = input(); "echo halihalo"

Print "Vorher: " + zeile$

pos% = Instr( zeile$, " " )

if pos%>0 then
    zeile$ = Mid( zeile$, pos% )
    Print "Nachher: " + zeile$
 else
    Print "Kein Leerzeichen enthalten"
EndIf

Waitkey()


Ungetestet, dürfte aber funktionieren Smile

Greets
Willi

Edit: @Blitzcoder: Er wollte nicht das erste Wort, sondern dass was dahinter steht Wink
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon
Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX

At the Farewell Party visit: MySpace | Homepage

Blitzcoder

Newsposter

BeitragDo, Jul 13, 2006 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Edit: @Blitzcoder: Er wollte nicht das erste Wort, sondern dass was dahinter steht Wink


Edited Wink
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
  • Zuletzt bearbeitet von Blitzcoder am Do, Jul 13, 2006 19:58, insgesamt einmal bearbeitet

Pdd

BeitragDo, Jul 13, 2006 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Very Happy ich werds nachher mal testen...

SpionAtom

BeitragDo, Jul 13, 2006 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Diese Funktion könnte dir auch helfen:
https://www.blitzforum.de/foru...hp?t=18819

Hiermit kannst du nicht nur das erste Wort, sondern alle Wörter herausfinden.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group