Erweitertes string_pos

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Erweitertes string_pos

      //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 :D )

      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

      1. //string_pos_ext(substring,string,n,startpos)
      2. //Liefert die Position des n-ten Vorkommes von substring in string ab der Position startpos.
      3. if(argument3>1)
      4. {
      5. argument1=string_copy(argument1,argument3,string_length(argument1)-argument3+1);
      6. argument3-=1;
      7. }
      8. else
      9. argument3=0;
      10. if(argument2<=1)
      11. {
      12. result=string_pos(argument0,argument1);
      13. if(result!=0)
      14. return result+argument3;
      15. else
      16. return 0;
      17. }
      18. else
      19. {
      20. fillstr="";
      21. repeat(string_length(argument0))
      22. fillstr+="X";
      23. tmpstr=argument1;
      24. repeat(argument2-1)
      25. tmpstr=string_replace(tmpstr,argument0,fillstr);
      26. result=string_pos(argument0,tmpstr);
      27. if(result!=0)
      28. return result+argument3;
      29. else
      30. return 0;
      31. }
      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 ;)
      “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

      Ich schreibe mit Neo.

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

    • Benutzer online 2

      2 Besucher