var t = "\some\route\here"
rimuovere tutto ciò dopo l'ultima barra rovesciata
ho bisogno "\ alcuni \ percorso" da esso.
Grazie.
var t = "\some\route\here"
rimuovere tutto ciò dopo l'ultima barra rovesciata
ho bisogno "\ alcuni \ percorso" da esso.
Grazie.
È necessario lastIndexOf
e substr
...
var t = "\\some\\route\\here";
t = t.substr(0, t.lastIndexOf("\\"));
alert(t);
Inoltre, è necessario raddoppiare \
caratteri nelle stringhe in cui sono utilizzati per sfuggire caratteri speciali.
Aggiornamento Dal momento che questo è regolarmente rivelando utile per gli altri, ecco un frammento di esempio ...
// the original string
var t = "\\some\\route\\here";
// remove everything after the last backslash
var afterWith = t.substr(0, t.lastIndexOf("\\") + 1);
// remove everything after & including the last backslash
var afterWithout = t.substr(0, t.lastIndexOf("\\"));
// show the results
console.log("before : " + t);
console.log("after (with \\) : " + afterWith);
console.log("after (without \\) : " + afterWithout);
Grazie. Come faccio Doppio. Ho provato questo t.replace ("\\", "\\\\") non funzionava – INgeek
Hai solo bisogno di farlo quando si imposta un valore di stringa direttamente nel codice, come nell'esempio sopra. Se lo ricevi da qualche altra parte (l'URL, ad esempio), non preoccuparti :) – Archer
t.replace (/ \\/g, "\\\\") non ha funzionato altrettanto bene – INgeek
Come indicato nella @ risposta di Archer, è necessario raddoppiare su i backslash. Propongo di usare espressioni regolari sostituire per ottenere la stringa che si desidera:
var t = "\\some\\route\\here";
t = t.replace(/\\[^\\]+$/,"");
alert(t);
Usando JavaScript si può semplicemente raggiungere questo obiettivo. Rimuovere tutto dopo l'ultimo "_" occurance.
var newResult = t.substring(0, t.lastIndexOf("_"));
isuru, non è già ben coperto dalle risposte esistenti? – KyleMit
@KyleMit Non vedi? Ha aggiornato la sua risposta precedente. – isuru
Per aggiungere * ancora più * informazioni, ma anche la versione datata [22 gennaio 2013] (https://stackoverflow.com/posts/14462451/revisions) include 't = t.substr (0, t.lastIndexOf (" \\ "));' che è identico alla tua risposta – KyleMit
Guardate qui: http://stackoverflow.com/questions/6764435/jquery-split-after-last-slash –
Non può essere fatto con jQuery ': P'. –
[MDN - 'String.prototype.lastIndexOf()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) – KyleMit