-2

我有这个网址

http://abc.com.ppd-www.abccom.server.net/info/first/abccom/office/About_abc        /abc_Information/ABC_Informatio_Press_News/Images                      /Here%20You%20Can%20Get%20More%20Related%202012%20News%20About%20FINAL.pdf

我一直在寻找一个正则表达式来搜索直到最后一个/并消除%20. 我想最终拥有

here you can get more related 2012 news about final

我尝试了许多可能的表达方式,但都不成功。

谢谢

4

1 回答 1

0

这里不需要正则表达式。只需使用内置函数来操作字符串和数组就足够了:

var parts = str.split('/');
var result = decodeURIComponent(parts[parts.length-1].split('.').slice(0,-1).join(''));

这将占用最后一个/和最后一个之间的所有内容.如果您只想直到第一个(或者您确定文件名中.总是只有一个):.

var parts = str.split('/');
var result = decodeURIComponent(parts[parts.length-1].split('.')[0]);

只是如果你好奇,这里是正则表达式的解决方案:

var result = str.match(/\/([^\/]*)\.pdf$/)[1].replace(/%20/g, ' ');

但是您不能告诉我这更具可读性/可维护性;)。

于 2012-11-13T16:45:16.537 回答