2012-04-11 74 views
0

希望你们能帮助我。特定发生后删除字符串中的字符

我有一个动态的网址,我需要一些JavaScript基本上修剪字符串的具体发生后的字符。

例:

我有这个网址

评估/ testdir2/TestDIR3 /演讲稿1as.pdf

,我需要的2nd slash和包括后去除一切第二次斜线。

我该怎么做?

回答

3

一个非常基本的JS解决方案:

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); 

,只需拆分的字到一个数组通过查找/,然后你可以加入你需要重新走到一起的元素。该函数接受单词以及您想要连接在一起的多少个“片段”。

请参阅jsfiddle

+0

嗯好吧是的,我可以看到,这将工作,基本上虽然有时我需要从第一斜线删除有时第二,有时第三取决于提供给变种的URL。 – Psylant 2012-04-11 10:10:51

+0

用一个函数更新了答案,该函数可以重复使用来完成相同的操作,并将单词作为参数和要合并的段数。 – cchana 2012-04-11 10:19:18

+0

非常感谢 – Psylant 2012-04-11 10:21:34

2

试试这个:

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]; 
} 

这种方法则忽略了前两个文件夹,也不管你有多少其他文件夹都在网址中会工作。