在最后一个符号"/"或"\"之后获取字符串

OTA*_*TAR 4 javascript regex

我需要从字符串,最后一块之后得到, \或者/从这个字符串 C:\fake\path\some.jpg结果必须是some.jpg

我试过这个:

var str = "C:\fake\path\some.jpg";
var newstr = str.replace(/[^\\\/]+$/, "");
alert(newstr);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/J4GdN/3/

但不起作用,什么是正确的正则表达式?

Jal*_*ayn 11

你不需要正则表达式,这应该工作:

var newstr = str.substring(Math.max(str.lastIndexOf("\\"), str.lastIndexOf("/")) + 1);
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记考虑`/`. (4认同)

epa*_*llo 5

那么你的str需要被转义\\才能正常工作.您还需要使用匹配,因为您使用的reg exp匹配结束,而不是开头.

var str = "C:\\fake\\p\ath\some.jpg";
var newstr = str.match(/[^\\/]+$/);
alert(newstr);
Run Code Online (Sandbox Code Playgroud)

的jsfiddle