String/Variable "Trennen" ?
Übersicht

![]() |
Kleiner satanBetreff: String/Variable "Trennen" ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
kann ich einen string oder eine variable trennen? beispiel:Code: [AUSKLAPPEN] aus teil1; teil2; teil3; wird teil1 teil2 teil3 Oder gibt es sonst eine möglichkeit in eine datei daten einzuspeichern die man getrennt wider auslesen kann?? Bastian |
||
Kaplan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie meinst du das genau? | ||
"Jedes Ereigniss hinterlässt eine Narbe in der Seele des Beteiligten. Manche sind größer als andere, manche aber teilen deine Seele in Zwei."
User posted image User posted image |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
im codearchiv hat es eine StringSplit / StringExplode funktion, die dir das macht, was du möchtest ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
meinst du es vieleicht so? Code: [AUSKLAPPEN] teil1$ = "Hallo,"
teil2$ = " was" teil3$ = " gibts" Write teil1$ Write teil2$ Write teil3$ Write teil1$ Write teil3$ Write teil2$ Gruss Andreas |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
schätze er meint dass er aus
Code: [AUSKLAPPEN] string$="Ich*bin*ein*String"
folgendes machen kann Code: [AUSKLAPPEN] part(1)="Ich"
part(2)="bin" part(3)="ein" part(4)="String" d.h. er will nen string zerlegen bzw. mehrere informationen in einen string speichern, die er getrennt wieder auslesen will. das geht z.b. mit der func die dreamora erwähnte. ansonsten um was abzuspeichern bzw. wieder einzulesen, siehe OH ![]() l8er, psy |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier mal ein kleines Beispiel:
Code: [AUSKLAPPEN] TeileUndAusgeben("teil1; teil2; teil3; ",";")
WaitKey Function TeileUndAusgeben(A$,Teiler$) Repeat b$ = Left(a$,Instr(A$,Teiler$)-1) a$ = Mid(a$,Instr(A$,Teiler$)+1) Print Trim(b$) If A$ = "" Then Return If Instr (A$,Teiler$) = 0 Then ; sind noch Zeichen da ohne Trenner? Print Trim(a$) Return End If Forever End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
Kleiner satan |
![]() Antworten mit Zitat ![]() |
---|---|---|
PSY hat Folgendes geschrieben: schätze er meint dass er aus
Code: [AUSKLAPPEN] string$="Ich*bin*ein*String"
folgendes machen kann Code: [AUSKLAPPEN] part(1)="Ich"
part(2)="bin" part(3)="ein" part(4)="String" d.h. er will nen string zerlegen bzw. mehrere informationen in einen string speichern, die er getrennt wieder auslesen will. das geht z.b. mit der func die dreamora erwähnte. ansonsten um was abzuspeichern bzw. wieder einzulesen, siehe OH ![]() l8er, psy So hab ich es gemeint! so wie in PHP der explode befehl! gibt es ein tutorial für sowas? |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das hab ich mal rausgekramt:
Code: [AUSKLAPPEN] satz$ = " Dies ist ein komischer Satz mit vielen Leerzeichen . " trenn$ = " " Print "*" + satz$ + "*" Dim wort$(50) w$ = "" n = 0 For i = 1 To Len(satz$) z$ = Mid$(satz$, i, 1) If z$ <> trenn$ Then w$ = w$ + z$ Else If w$ <> "" Then n = n + 1 wort$(n) = w$ w$ = "" End If End If Next Print "---" For i = 1 To n Print "wort$(" + Str$(i) + ") = " + Chr$(34) + wort$(i) + Chr$(34) Next End Wenn noch was unklar ist, frag nach ![]() EDIT: EDIT: Und hier noch mal als Function, habs mal eben von QB umgeschrieben: Code: [AUSKLAPPEN] satz$ = " Dies ist ein komischer Satz mit vielen Leerzeichen . " Print "*" + satz$ + "*" For i = 0 To 10 Print "nowrt$("+i+") = " + Chr$(34) + nwort$(satz$, i) +Chr$(34) Next WaitKey() End ;satz$ ist der zu untersuchende String ;wort gibt an, das wievielte Wort gesucht werden soll Function nwort$(satz$, wort) If wort = 0 Then Return "" trenn$ = " " ;<-- Trennzeichen w = 0 pos = 1 While w < wort While Mid$(satz$, pos, 1) = trenn$ pos = pos + 1 Wend x = pos y = Instr(satz$, trenn$, pos) pos = y w = w + 1 Wend Return Mid$(satz$, x, y - x) End Function |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, ich habe auch mal eine Explode Function geschrieben, die mit verschieden großen Teilern ohne weiteres klarkommt!
Zusätzlich sind alle Sicherheitsabfragen mit drinn, damit das Prog nicht abstürzt! Code: [AUSKLAPPEN] Strin$ = "T1~~T2~~T3~~T4~~T50~~T60~~T700~~T0"
For i = 1 To 8 Print i +". Teil = "+ explodeString$ (Strin$,"~~",i) Next WaitKey Function explodeString$ (A$,Teiler$,Num%) Local b$, c%=Len (Teiler$) Repeat Pos% = Instr (A$,Teiler$) If Pos% = 0 Then If Num = 1 Then Return a$ Else Return End If End If b$ = Left (a$,Pos% - 1) a$ = Mid (a$,Pos% + c%) Num% = Num% - 1 If Num% = 0 Then Return b$ Until Len (a$) = 0 End Function Code geändert! |
||
- Zuletzt bearbeitet von Rallimen am Di, Jul 11, 2006 9:18, insgesamt einmal bearbeitet
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Rallimen hat Folgendes geschrieben: Hallo, ich habe auch mal eine Explode Function geschrieben, die mit verschieden großen Teilern ohne weiteres klarkommt!
Zusätzlich sind alle Sicherheitsabfragen mit drinn, damit das Prog nicht abstürzt! Was bei mir auch der Fall ist. ![]() ![]() Bei dir, Rallimen, wird das letzte Wort aber nicht ausgegeben... |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast recht, dadurch das ich das gekürzt habe ist mir ein Kleiner fehler unterlaufen ![]() Code: [AUSKLAPPEN] If Nummer = 1 Then ; ist falsch
If Num = 1 Then ; richtig Habe den Code Ediert! |
||
[BB2D | BB3D | BB+]
|
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sowas nennt man Parsen, und ist schon recht vortgeschritten -->
~Verschoben~ Wir brauchen einen gesunden Allgemein bereich, wo mann auch mal was suchen kann. Übrigens Parsen, ist wichtig, für eigene Programmier/Scriptsprachen, Exportieren von inhalten aus dateien usw. |
||
between angels and insects |
![]() |
Kleiner satan |
![]() Antworten mit Zitat ![]() |
---|---|---|
ähm..kann mir jetzt mal einer ein tut geben? | ||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke mal das du sowas meinst!
http://www.robsite.de/bbkurs2/progs_string.htm |
||
[BB2D | BB3D | BB+]
|
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wozu genau willst du ein Tutorial? | ||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Tutorial wofür? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gibt es keines.
Ist ein fortgeschrittenes und sehr spezifisches Thema. Dazu gibt es höchstens Artikel wie es funktioniert etc sowie implementationen in C / C++ und anderen "professionel" genutzten Sprachen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Kleiner satan |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm
ich raff es immernoch nit! wozu ist Mid und Len??? |
||
Nox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
http://www.blitzbase.de/befehle2d/mid.htm
http://www.blitzbase.de/befehle2d/len.htm |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Manchmal, Satan, sollte man auch erstmal selbst nach Lösungen suchen ![]() Lad Dir die deutsche OnlineHilfe runter (link zB im Beginnerforum in einem der angepinnten Threads) und schau dir die Befehlsbeschreibungen an wenn Du etwas nicht verstehst. Solltest Du dann noch Fragen haben stell sie. Aber erst mal selbst lernen. Ist auch effektiver. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group