2012-04-11 24 views
0

Ich hoffe, Sie können mir helfen.entfernen Zeichen in Zeichenfolge nach bestimmten Vorkommen

Ich habe eine dynamische URL und ich brauche etwas Javascript, um die Zeichenkette nach dem spezifischen Auftreten eines Zeichens grundsätzlich zu trimmen.

Beispiel:

Ich habe diese URL

Bewertung/testdir2/TestDIR3/Vorlesungsfolien 1as.pdf

und ich brauche alles nach dem 2nd slash zu entfernen und einschließlich der 2. Schrägstrich.

Wie würde ich das tun?

Antwort

3

Eine sehr einfache JS Lösung:

function removeAfterSlash(word, numberOfElements) { 
    var splitWord = word.split('/'); 
    var newWord = ''; 
    for(var i = 0; i < numberOfElements; i++) { 
     if(i != (numberOfElements - 1)) { 
      newWord += splitWord[i] + '/'; 
     } else { 
      newWord += splitWord[i]; 
     } 
    } 
    document.write(newWord); 
} 
removeAfterSlash('Assessment/testdir2/TestDIR3/lecture slides 1as.pdf', 1); 

einfach die teilen das Wort in ein Array von für einen / suchen und dann können Sie die Elemente verbinden Sie wieder zusammen benötigen. Die Funktion nimmt das Wort und wie viele 'Segmente' Sie wieder zusammenfügen möchten.

Siehe auf jsfiddle.

+0

hmm ok yeah Ich kann sehen, dass das funktioniert, im Grunde obwohl ich manchmal vom ersten Schrägstrich manchmal den zweiten und manchmal den dritten entfernen muss, abhängig von der URL, die an die Variable geliefert wird. – Psylant

+0

Die Antwort wurde mit einer Funktion aktualisiert, die erneut verwendet werden kann, um dasselbe zu tun, und verwendet das Wort als Parameter und die Anzahl der Segmente, die Sie zusammensetzen möchten. – cchana

+0

Funktioniert Vielen Dank – Psylant

2

Try this:

var url= "Assessment/testdir2/TestDIR3/lecture slides 1as.pdf" 
var locs = myString.split('/'); 
var newUrl = ""; 
for (var i = 2; i < locs.length; i ++) { 
    newUrl += "/" + locs[i]; 
} 

Diese Methode wird dann die ersten zwei Ordner ignorieren und funktioniert unabhängig davon, wie viele andere Ordner, die Sie in der URL haben.

Verwandte Themen