String von hinten bis zum ersten "/" löschen

Hey Leute,
ich denk ich habe ein einfaches, kleines Problem, aber ich kommt irgendwie nicht auf die Lösung.
Habe z.B. einen String a mit dem Inhalt „www/php/ftp“. Wie kann ich das letztes Wort mit dem letzten „/“ löschen?

[PHP]$string = str_replace(„/(.)((/)(.))/“, „$1“, $string);[/PHP]

=)

So :slight_smile:

var string = "www/php/ftp";
var umgedreht = string.split("").reverse().join("");
// Suche nach ersten vorkommen von "/"
var posSlash = umgedreht.indexOf("/");
var cuttedBack = umgedreht.substr(posSlash+1, umgedreht.length);
var cutted = cuttedBack.split("").reverse().join("");

Achjaaaa stimmt… JavaScript… Sorry ^^

Naja, ich würde trotzdem auf str_replace setzen, wenn ich das öfters bräuchte ^^

str_replace gibts in JavaScript nicht? Functions overview - php.js =)

SELFHTML: JavaScript / Objektreferenz / String

Gut, so selten, wie ich mit JavaScript arbeite xD Und wie schon in einem anderen Thread geschrieben, bin heute irgendwie neben der Spur… Aber ich hatte recht, ein str_replace gibt es so in JavaScript nicht ^^ Aber gut, wieder was gelernt =)

Könnt ihr mir noch schnell sagen, wie das aussehen würde, wenn ich jetzt bei „site/m/index.html“ nur noch „index.html“ haben will?

Entweder du wartest auf unsere Regex-Experten oder du nimmst den Code hier ^^ (abgewandelte Version des ersten Codes)

var string = "site/m/index.html";
var umgedreht = string.split("").reverse().join("");
// Suche nach ersten vorkommen von "/"
var posSlash = umgedreht.indexOf("/");
var cuttedBack = umgedreht.substr((string.length - posSlash), (string.length-1)); // möglich das bei string.length - posSlash noch +1 hin muss
var cutted = cuttedBack.split("").reverse().join("");

Hey, wenn ich dein Script ausführe, dann kommt als Antwort „site/m/ind“ raus, mit „+1“ geht dann noch das „d“ weg…

Oh Sorry. doch noch was vergessen :slight_smile:

var string = "site/m/index.html";
var umgedreht = string.split("").reverse().join("");
// Suche nach ersten vorkommen von "/"
var posSlash = umgedreht.indexOf("/");
var cutted = umgedreht.split("").reverse().join("").substr((string.length - posSlash), (string.length -1));

Ok, es funktioniert, vielen vielen Dank :wink:

console.log("site/m/index.html".replace(/^.*[\/\\]/g, ''));

Sehr geschickt immer noch nem muster xyz/ zu suchen und es jedes mal replacen zu lassen :slight_smile:
Jedenfalls sehr viel eleganter als meine variante (und flexibler)