English
Opportunities and suggestions

Umgekehrter Substr$()-commands

 
- 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:
CompileMarkSeparation
Var 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
Var Suchtext$ = MkStr$("A|B|C|D|E|F",31)
print "Durchsuchter-String: " + Suchtext$
print "Gesuchter-Teilstring: B\n"
print "Ergebnis: "+STRINGIndex(Suchtext$,"|","B")
waitinput

Proc StringIndex

    Parameters Text$,Trenn$,part$
    Return IndexOf(Explode(Text$,Trenn$),part$)+1

ENDPROC


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.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08/03/12  
 



« this Posting watts as Solution marked. »


Jörg
Sellmeyer
so
CompileMarkSeparation
Window 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 X2
Er 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.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08/03/12  
 




Jörg
Sellmeyer
Why not simply:
CompileMarkSeparation
Print SubStr$("T e s t ver su ch",-2," ")
WaitInpute>
 
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 ^^
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08/04/12  
 




Jörg
Sellmeyer
would have You a passenderen cover chosen, had one not through your hilfetexttypischen Einleitungssatz bait must, To one it understand.
CompileMarkSeparation
Declare A$[]
A$[] = Explode("1|2|3|1|2|4|5|1","|")
Print IndexOf(A$[],"5")' Nullbasierend
WaitInput<
pre>
 
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.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08/05/12  
 




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
Declare A$[],Index%
A$[] = Explode("1|2|3|5|1|2|5|4|5|1","|")

While Index% > -1

    Index% = IndexOf(A$[],"5",Index%+1)' Nullbasierend
    Print Index%

Wend

Wai
 
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
CompileMarkSeparation
CLS
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

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08/05/12  
 




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
The first Teilstring won't grasped ^^
CompileMarkSeparation
Declare A$[],Index%
A$[] = Explode("1|2|3|5|1|2|5|4|5|1","|")

While Index% > -1

    Index% = IndexOf(A$[],"1",Index%+1)' Nullbasierend
    Print Index%

Wend

Wai
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08/05/12  
 




Jörg
Sellmeyer
so
CompileMarkSeparation
Window 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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

14.921 Views

Untitledvor 0 min.
Thomas Zielinski01/26/23
H.Brill10/12/22
Jörg Sellmeyer05/15/18
Vgdd06/05/17
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie