我有#ls/?folder_path=home/videos/
我如何从字符串中找到最后一个文本?这个地方是视频
其他字符串,如
#ls/?folder_path=home/videos/
#ls/?folder_path=home/videos/test/testt/
#ls/?folder_path=seff/test/home/videos/
答案 0 :(得分:3)
我们可以使用更多示例字符串,但基于您的唯一示例,这是一个粗略的正则表达式,可以帮助您入门:
.*?/\?.*?/(.*?)\//
编辑:
基于您的扩展示例:
.*?/\?.*/(.*?)\//
此正则表达式将使用文本直到倒数第二个/
并捕获直到字符串中的最后一个/
。
答案 1 :(得分:1)
有很多方法可以做到这一点。其中之一:
var str = '#ls/?folder_path=home/videos/'.replace(/\/$/,'');
alert(str.substr(str.lastIndexOf('/')+1)); //=> videos
不使用replace
var str = '#ls/?folder_path=home/videos/'
,str = str.substr(0,str.length-1)
,str = str.substr(str.lastIndexOf('/')+1);
alert(str); //=> videos
答案 2 :(得分:1)
即使字符串没有以/结尾也是如此 var str;
var re = /\w+(?=\/?$)/;
str = "#ls/?folder_path=home/videos/"
str.match(re) ; //# => videos
str = "#ls/?folder_path=home/videos/test/testt/"
str.match(re) ; //# => testt
str = "#ls/?folder_path=seff/test/home/videos/"
str.match(re) ; //# => videos
str = "#ls/?folder_path=home/videos/test/testt"
str.match(re) ; //# => testt
答案 3 :(得分:1)
答案 4 :(得分:0)
如果它始终以/
结尾,那么这将有效。
var str = '#ls/?folder_path=home/videos/';
var arr = str.split('/');
var index = arr.length-2;
console.log(arr[index]);
答案 5 :(得分:0)
如果您的数据与此字符串一致,则这是一种基于拆分的简单检索方式 您需要的字符串:http://jsfiddle.net/EEkLP/
var str="#ls/?folder_path=home/videos/";
var strArr = str.split("/");
alert(strArr[strArr.length-2]);
答案 6 :(得分:0)
如果最后一个单词总是用正斜杠括起来,那么你可以尝试这个 -
".+\/([^\/]+)\/$"
或正则表达式
/.+\/([^\/]+)\/$/