繁体   English   中英

在最后一个反斜杠后删除所有内容

[英]Remove everything after last backslash

var t = "\\some\\route\\here"

我需要“\\ some \\ route”。

谢谢。

你需要lastIndexOfsubstr ...

var t = "\\some\\route\\here";
t = t.substr(0, t.lastIndexOf("\\"));
alert(t);

此外,您需要将字符串中的\\ chars加倍,因为它们用于转义特殊字符。

更新因为这经常证明对其他人有用,这里是一个片段示例...

 // the original string var t = "\\\\some\\\\route\\\\here"; // remove everything after the last backslash var afterWith = t.substr(0, t.lastIndexOf("\\\\") + 1); // remove everything after & including the last backslash var afterWithout = t.substr(0, t.lastIndexOf("\\\\")); // show the results console.log("before : " + t); console.log("after (with \\\\) : " + afterWith); console.log("after (without \\\\) : " + afterWithout); 

正如@Archer的答案所述,你需要加倍反斜杠。 我建议使用正则表达式替换来获取你想要的字符串:

var t = "\\some\\route\\here";
t = t.replace(/\\[^\\]+$/,"");
alert(t);

使用JavaScript,您可以轻松实现这一目标。 在最后“_”出现后删除所有内容。

var newResult = t.substring(0, t.lastIndexOf("_") );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM