//EDIT: ich habe eine neue Version gemacht, die nun auch die nun auch eine startposition für die suche erlaubt (wie bei PHP). Das Script unten wurde aktualisiert!
Noch ein Hinweis zu "startpos": Die Position geht vom GESAMTEN string aus. also nicht nur von dem teil, der durchsucht wurde. (Ich hoffe das versteht man
)
Dieses Script ist eine kleine Erweiterung der GML funktion string_pos. string_pos liefert die Position des ersten vorkommens eines substrings in einem string. Mei script erlaubt es nun, nicht nur die posiiton des ersten, sondern jedes belieben vorkommens zu erhalten.
Nennt es am bestem string_pos_ext
Hier also der Code:
Alles anzeigen
Ist nicht sehr kompliziet, für anfänger aber vielleicht doch recht nützlich
//EDIT2: Da hat sich bei der Erweiterung ein fehler eingeschlichen, jetzt isser wieder weg
Noch ein Hinweis zu "startpos": Die Position geht vom GESAMTEN string aus. also nicht nur von dem teil, der durchsucht wurde. (Ich hoffe das versteht man

Dieses Script ist eine kleine Erweiterung der GML funktion string_pos. string_pos liefert die Position des ersten vorkommens eines substrings in einem string. Mei script erlaubt es nun, nicht nur die posiiton des ersten, sondern jedes belieben vorkommens zu erhalten.
Nennt es am bestem string_pos_ext

Hier also der Code:
GML-Quellcode
- //string_pos_ext(substring,string,n,startpos)
- //Liefert die Position des n-ten Vorkommes von substring in string ab der Position startpos.
- if(argument3>1)
- {
- argument1=string_copy(argument1,argument3,string_length(argument1)-argument3+1);
- argument3-=1;
- }
- else
- argument3=0;
- if(argument2<=1)
- {
- result=string_pos(argument0,argument1);
- if(result!=0)
- return result+argument3;
- else
- return 0;
- }
- else
- {
- fillstr="";
- repeat(string_length(argument0))
- fillstr+="X";
- tmpstr=argument1;
- repeat(argument2-1)
- tmpstr=string_replace(tmpstr,argument0,fillstr);
- result=string_pos(argument0,tmpstr);
- if(result!=0)
- return result+argument3;
- else
- return 0;
- }
Ist nicht sehr kompliziet, für anfänger aber vielleicht doch recht nützlich

//EDIT2: Da hat sich bei der Erweiterung ein fehler eingeschlichen, jetzt isser wieder weg

“Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)
Ich schreibe mit Neo.
Ich schreibe mit Neo.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Bottleneck ()