我已经尝试了一个多小时并且无法找出正确的方法,尽管它可能很容易:
我有这样的事情:foo/bar/test.html
我想使用 jQuery 来提取最后一个/
. 在上面的示例中,输出将是test.html
.
我想可以使用substr
and来完成indexOf()
,但我找不到可行的解决方案。
我已经尝试了一个多小时并且无法找出正确的方法,尽管它可能很容易:
我有这样的事情:foo/bar/test.html
我想使用 jQuery 来提取最后一个/
. 在上面的示例中,输出将是test.html
.
我想可以使用substr
and来完成indexOf()
,但我找不到可行的解决方案。
至少三种方式:
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)
值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 包含您的字符串的位置。
尝试这个:
const url = "files/images/gallery/image.jpg";
console.log(url.split("/").pop());
var str = "foo/bar/test.html";
var lastSlash = str.lastIndexOf("/");
alert(str.substring(lastSlash+1));
尝试;
var str = "foo/bar/test.html"; var tmp = str.split("/"); 警报(tmp.pop());
当我知道字符串会相当短时,我使用以下一个衬里......(记住要避开反斜杠)
// if str is C:\windows\file system\path\picture name.jpg
alert( str.split('\\').pop() );
弹出警报picture name.jpg
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 afterDot = value.substr(value.lastIndexOf('_') + 1);
Javascript:
var myString = 'asd/f/df/xc/asd/test.jpg'
var parts = myString.split('/');
var answer = parts[parts.length - 1];
console.log(answer);
替换'_' || '/' 根据你自己的需要
根据问题::
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);
}
以及在 url 上提出的问题(要求出现一次 '=' )::
[ 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);
}