在最后一个符号"/"或““

Get string piece after last symbols "/" or ""

本文关键字:quot 最后一个 符号      更新时间:2023-09-26

我需要从字符串中得到最后一个'/,即从这个字符串中得到的C:'fake'path'some.jpg结果必须是some.jpg

我试过了:

var str = "C:'fake'path'some.jpg";
var newstr = str.replace(/[^'''/]+$/, "");
alert(newstr);
http://jsfiddle.net/J4GdN/3/

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

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

var newstr = str.substring(Math.max(str.lastIndexOf("''"), str.lastIndexOf("/")) + 1);

您的str需要转义''才能正常工作。您还需要使用match,因为您正在使用的reg exp匹配的是结束,而不是开始。

var str = "C:''fake''p'ath'some.jpg";
var newstr = str.match(/[^''/]+$/);
alert(newstr);

JSFiddle

首先,让我们转义反斜杠

var str = "C:''fake''path''some.jpg";
var newstr = str.replace(/[^'''/]+$/, "");
alert(newstr);

现在,你正在删除some.jpg,而不是得到它作为结果。

这里有几个选项来解决这个问题:

1。用正则表达式

替换
var newstr = str.replace(/.*['''/]/, "");

2。使用regex分割(并非在所有浏览器中都有效)

var tmp = str.split(/''|'//);
var newstr = tmp[tmp.length-1];

4。如这里所说,match

var newstr = str.match(/.*['''/](.*)/)[1];