我有一个变量var1/var2/var3
。我想在变量中的最后一个斜杠之后存储var3
部分,在另一个变量中存储之前的部分(var1/var2/
)。我怎么能这样做?
答案 0 :(得分:90)
您可以使用lastIndexOf
获取最后一个变量,然后使用var rest = str.substring(0, str.lastIndexOf("/") + 1);
var last = str.substring(str.lastIndexOf("/") + 1, str.length);
来获取其余变量。
var str = "var1/var2/var3";
var rest = str.substring(0, str.lastIndexOf("/") + 1);
var last = str.substring(str.lastIndexOf("/") + 1, str.length);
console.log(rest);
console.log(last);
jsfiddle上的示例。
{{1}}
答案 1 :(得分:18)
尝试这样的事情:
var vars = "var1/var2/var3";
var arrVars = vars.split("/");
var lastVar = arrVars.pop();
var restVar = arrVars.join("/");
alert(lastVar);
alert(restVar);
答案 2 :(得分:4)
var txt = "var1/var2/var3";
txt = txt.split('/')
var Var1 = txt.pop();
var Var2 = txt[0]+'/'+txt[1];
alert(Var1);
alert(Var2);
答案 3 :(得分:2)
您可以使用拆分然后拉出它的最后一个索引,如下所示:
示例:强>
var string = 'var1/var2/var3';
var result = string.split('/'); //Splits into an array
//var final = result[result.length -1]; //Grabs last value
//result.pop(); //Removes last value
var final = result.pop(); //Removes last value and grap the last value
var previous = result.join('/'); //Grabs the previous part
alert("Previous: " + previous + ", Final Part: " + final); //Alerts results
演示:
答案 4 :(得分:2)
var last = url.split("/").pop();
console.log(last);
您可以使用数组弹出方法获取最后一个网址。
答案 5 :(得分:0)
最简单的解决方案是使用javascript:
var str = "var1/var2/var3/var4/var5";
var splitted = str.split("/");
var first = "";
for (var i=0; i<splitted.length-1; i++) {
first += splitted[i] + "/";
}
var second = "";
if (splitted.length > 0) {
second = splitted[splitted.length-1];
}
alert(first); // var1/var2/var3/var4/
alert(second); // var5
编辑:
但最短的解决方案是:substring()
使用
答案 6 :(得分:0)
使用正则表达式的解决方案可能不是最快的,但是占用的空间更少,并且可读性更高。
Manager
"var1/var2/var3".split(/\/(?=[^\/]+$)/)
–匹配一个斜杠\/
–如果后跟
(?=
–除斜杠外的任何内容。[^\/]+
–字符串的结尾$
答案 7 :(得分:0)
您也可以对字符串反复执行replace()
、split()
和join()
以获得想要的结果
let str = 'var1/var2/var3';
str = str.split('').reverse().join('').split(/\/(.+)/).map(x => x.split('').reverse().join('')).reverse().filter(x => x);
console.log(str);
说明:
str
.split('') /* ['v', 'a', 'r', '/', 'v', 'a', ...] */
.reverse() /* ['3', 'r', 'a', 'v', '/', 'r', ...] */
.join('') /* '3rav/2rav/1rav' */
.split(/\/(.+)/) /* ['3rav', '2rav/1rav', ''] */
.map(x => x.split('').reverse().join('')) /* ['var3', 'var1/var2', ''] */
.reverse() /* ['', 'var1/var2', 'var3'] */
.filter(x => x) /* ['var/var2', 'var3'] */