Frage zu String.indexOf()

djnelly

Erfahrenes Mitglied
Hallo..

ich habe eine Frage zur Funktion: String.indexOf()

ich habe folgenden AS:

Code:
bname = "galerie/Name-des-Bildes.jpg";
teilstring = ".jpg";
bname.indexOf(teilstring, 9);
bname = substring(bname, 9, bname);

Was will ich machen? :

ich habe den Namen des Bildes in var bname. Aufgrund der dynamischen bildnamenlänge möchte ich den teilstring ".jpg" auf erste vorkommen suchen um mit der Funktion substring die Bezeichnungen "galerie/" und ".jpg" aus dem String zu entfernen. Als Ergebnis brauche ich nur den Name-des-Bildes in der var bname.

Ich weiß oben ist nen Fehler bei indexOf und substring in der var bezeichnung.
Die Referenz war aber nicht sehr schlüssig zum Thema index.of

Kann mir einer helfen ?

Danke
 
PHP:
bname = "galerie/Name-des-Bildes.jpg";

teilstring = ".jpg";
position = bname.indexOf(teilstring );
trace( "\"" + teilstring + "\" beginnt an Position = " + position );

ohnejpg = bname.substring( 0, position );
trace( "ohnejpg = " + ohnejpg);

teilstring2 = "galerie/";
bildname = ohnejpg.substring( teilstring2.length, ohnejpg.length );

trace("Bildname = " + bildname );
Lieber ein paar Variabeln zuviel solange man sich nicht ganz sicher ist welcher Befehl was macht.
Das ganze kann man dann auch noch ein bißchen verkürzen ( macht genau das gleiche ) :
PHP:
bname = "galerie/Name-des-Bildes.jpg";
teilstring = ".jpg";
teilstring2 = "galerie/";
ohnejpg = bname.substring( 0, bname.indexOf(teilstring) );
bildname = ohnejpg.substring( teilstring2.length, ohnejpg.length );
 
was spricht tagegen zu splitten? kannst dann auch mit anderen dateiendungen verwenden (.jpeg, .gif, .png, ...) und jede x beliebige ordnerstruktur

PHP:
var bn = "galerie/unterordner/krass.jpeg";

var foo = bn.split(".");

//1. teil ist name vor dem komma
bn = foo[0];

//nochmal splitten um ordnerstruktur wegzubekommen
foo = bn.split("/");

//letzter teil ist der name
bn = foo[foo.length - 1];

trace(bn);
 
Zurück