| |
|
|
- Page 1 - |
|
Julian Schmidt | One umgekehrter Substr$-commands the one with not, How with Substr%(), whom n-ten Teilstring herausfiltert, separate whom index(n) the Teilstrings s2 the Strings s1 herausfindet
about so: CompileMarkSeparationVar Suchtext$ = MkStr$("A|B|C|D|E|F",31)
print "Durchsuchter-String: " + Suchtext$
print "Gesuchter-Teilstring: B\n"
print "Ergebnis: "+STRINGIndex(Suchtext$,-1,"|","B")
waitinput
Proc StringIndex
Parameters Text$,Start%,Trenn$,Teil$
Declare A$[],Ergebnis$
A$[] = Explode(Text$,Trenn$,Start%)
Repeat
Start% = IndexOf(A$[],Teil$,Start%+1)' Nullbasierend
Case Start% = -1:Break
Ergebnis$ = Ergebnis$+If(Ergebnis$="","","|")+Str$(Start%+1)
Until Start% = -1
Return Ergebnis$
ENDPROC
CompileMarkSeparation have these routine in a proposition already some male needed. is vlt meaningfully these in XProfan incorporate.
Nachtrag: through Jörgs-Help improve View source eingefügt. |
|
|
| |
|
|
|
« this Posting watts as Solution marked. » |
|
Jörg Sellmeyer | so CompileMarkSeparationWindow 1000,400
Var Suchtext$ = MkStr$("A|B|C|D|E|F|A|B|C|D|E|F|A|B|C|D|E|F",50)
print "Durchsuchter-String: " + Suchtext$
print "Gesuchter-Teilstring: 1\n"
Print "Taste drücken"
WaitKey
Var time&=&gettickcount
SubstrNr1(Suchtext$,"B","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms\n"
time&=&gettickcount
StringIndex(Suchtext$,-1,"|","B")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms"
waitinput
Proc SubstrNr1
Parameters S1$,TeilString$,Trennzeichen$
Declare Ergebnis$
Whileloop Len(S1$, Trennzeichen$)
Case (SubStr$(S1$,&loop,Trennzeichen$)=TeilString$) : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(&loop)
EndWhile
Return Ergebnis$
EndProc
Proc StringIndex
Parameters Text$,Start%,Trenn$,Teil$
Declare A$[],Ergebnis$
'$D "",text$
A$[] = Explode(Text$,Trenn$,Start%)
Repeat
Start% = IndexOf(A$[],Teil$,Start%+1)' Nullbasierend
Case Start% = -1:Break
Ergebnis$ = Ergebnis$ + Str$(Start%) + ","
Until Start% = -1
Return Ergebnis$
ENDPROC
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/05/12 ▲ |
|
|
|
|
|
Dieter Zornow | Why take You not simply
teil& = Len(s1$, "|")
the number of Teilstrings To get ? |
|
|
| XProfan X2Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 08/03/12 ▲ |
|
|
|
|
Julian Schmidt | was I do not famous the one Len() too so use can, though it none so new To seien shining. thanks! I have through you again what learnt. |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/03/12 ▲ |
|
|
|
|
Julian Schmidt | would have You More as The Headline durchgelesen wüsstest You the your Posting nothing to that Thread beisteuert ^^ |
|
|
| |
|
|
|
Jörg Sellmeyer | would have You a passenderen cover chosen, had one not through your hilfetexttypischen Einleitungssatz bait must, To one it understand. CompileMarkSeparation |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/05/12 ▲ |
|
|
|
|
Julian Schmidt | Jup, too a alternative, though listet this always only a pounds. usually reicht it, though sometimes need one too any Pfunde. one could your View source too dahingehend modify. is though not The trouble worth. |
|
|
| |
|
|
|
Jörg Sellmeyer | What is because with you go? have you got 'ne Giftnatter gefrühstückt or Why motzt You here so rum. I show you, How You a code in 2 Lines instead of 10 write and You meckerst here rum. nevertheless is here too The Mehrfachsuche yet for remainder the Gemeinde: CompileMarkSeparation |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/05/12 ▲ |
|
|
|
|
Julian Schmidt | by me are 4 Lines still less than 6. Also shining your code yet something Murx To his. it runs though something faster through CompileMarkSeparationCLS
print "Durchsuchter-String: 1|2|3|1|2|4|5|1"
print "Gesuchter-Teilstring: 1\n"
Var time&=&gettickcount
print "Ergebnis durch Proc 1: "+SubstrNr1("1|2|3|1|2|4|5|1","1","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms\n"
time&=&gettickcount
print "Ergebnis durch Proc 2: "+SubstrNr2("1|2|3|1|2|4|5|1","1","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms"
waitinput
Proc SubstrNr1
Parameters S1$,TeilString$,Trennzeichen$
Declare Ergebnis$
Whileloop Len(S1$, Trennzeichen$)
Case (SubStr$(S1$,&loop,Trennzeichen$)=TeilString$) : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(&loop)
EndWhile
Return Ergebnis$
EndProc
Proc SubstrNr2
Parameters S1$,TeilString$,Trennzeichen$
Declare A$[],Index%,Ergebnis$
A$[] = Explode(S1$,Trennzeichen$)
While Index% > -1
Index% = IndexOf(A$[],TeilString$,Index%+1)
Case Index%>-1 : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(Index%+1)
EndWhile
Return Ergebnis$
ENDPROC
|
|
|
| |
|
|
|
Jörg Sellmeyer | then klär me still time over the Murx on and teste the whole time with a String of 10000 characters or so. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/05/12 ▲ |
|
|
|
|
Julian Schmidt | |
|
| |
|
|
|
Jörg Sellmeyer | so CompileMarkSeparationWindow 1000,400
Var Suchtext$ = MkStr$("A|B|C|D|E|F|A|B|C|D|E|F|A|B|C|D|E|F",50)
print "Durchsuchter-String: " + Suchtext$
print "Gesuchter-Teilstring: 1\n"
Print "Taste drücken"
WaitKey
Var time&=&gettickcount
SubstrNr1(Suchtext$,"B","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms\n"
time&=&gettickcount
StringIndex(Suchtext$,-1,"|","B")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms"
waitinput
Proc SubstrNr1
Parameters S1$,TeilString$,Trennzeichen$
Declare Ergebnis$
Whileloop Len(S1$, Trennzeichen$)
Case (SubStr$(S1$,&loop,Trennzeichen$)=TeilString$) : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(&loop)
EndWhile
Return Ergebnis$
EndProc
Proc StringIndex
Parameters Text$,Start%,Trenn$,Teil$
Declare A$[],Ergebnis$
'$D "",text$
A$[] = Explode(Text$,Trenn$,Start%)
Repeat
Start% = IndexOf(A$[],Teil$,Start%+1)' Nullbasierend
Case Start% = -1:Break
Ergebnis$ = Ergebnis$ + Str$(Start%) + ","
Until Start% = -1
Return Ergebnis$
ENDPROC
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08/05/12 ▲ |
|
|
|