Answers:
至少三种方式:
var result = /[^/]*$/.exec("foo/bar/test.html")[0];
... [^/]*
在字符串($
)的末尾显示“抓住一系列不包含斜杠的字符”()。然后,它通过索引到匹配对象([0]
)中来获取匹配的字符。在匹配对象中,第一个条目是整个匹配的字符串。无需捕获组。
lastIndexOf
和substring
:var str = "foo/bar/test.html";
var n = str.lastIndexOf('/');
var result = str.substring(n + 1);
lastIndexOf
听起来像:它将查找字符串中最后一次出现的字符(井,字符串)的索引,如果找不到,则返回-1。在十分之九的时间中,您可能想检查该返回值(if (n !== -1)
),但是在上面的代码中,由于我们要向其添加1并调用子字符串,因此最终str.substring(0)
只能返回该字符串。
Array#split
Sudhir和Tom Walters在这里和这里都进行了介绍,但这只是为了完整性:
var parts = "foo/bar/test.html".split("/");
var result = parts[parts.length - 1]; // Or parts.pop();
split
使用给定的定界符分割字符串,返回一个数组。
该lastIndexOf
/ substring
解决方案可能是最有效的(尽管人们总是要小心说关于JavaScript和表现什么,因为发动机不同,所以从根本上相互),但除非你是在一个循环中这样做上千次,这不是没关系,我会努力使代码清晰。
您不需要jQuery,并且有很多方法可以使用它,例如:
var parts = myString.split('/');
var answer = parts[parts.length - 1];
其中myString包含您的字符串。
尝试;
var str =“ foo / bar / test.html”; var tmp = str.split(“ /”); alert(tmp.pop());
String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;
path.substring(pos, path.length()-pos) ;
现在,您在路径字符串中有了last.htm。
轻量
string.substring(start,end)
哪里
start = Required
。开始提取的位置。第一个字符位于索引0`。
end = Optional
。提取结束的位置(最多但不包括)。如果省略,它将提取字符串的其余部分。
var string = "var1/var2/var3";
start = string.lastIndexOf('/'); //console.log(start); o/p:- 9
end = string.length; //console.log(end); o/p:- 14
var string_before_last_slash = string.substring(0, start);
console.log(string_before_last_slash);//o/p:- var1/var2
var string_after_last_slash = string.substring(start+1, end);
console.log(string_after_last_slash);//o/p:- var3
要么
var string_after_last_slash = string.substring(start+1);
console.log(string_after_last_slash);//o/p:- var3
根据问题的要求::
var string1= "foo/bar/test.html";
if(string1.contains("/"))
{
var string_parts = string1.split("/");
var result = string_parts[string_parts.length - 1];
console.log(result);
}
并在网址上询问问题(询问是否出现'=')::
[ http://stackoverflow.com/questions/24156535/how-to-split-a-string-after-a-particular-character-in -jquery] [1]
var string1= "Hello how are =you";
if(string1.contains("="))
{
var string_parts = string1.split("=");
var result = string_parts[string_parts.length - 1];
console.log(result);
}
试试这个:
const url = "files/images/gallery/image.jpg";
console.log(url.split("/").pop());