[英]JavaScript regex to capture everything after the second to last backslash
[英]Remove everything after last backslash
var t = "\\some\\route\\here"
我需要“\\ some \\ route”。
谢谢。
你需要lastIndexOf
和substr
...
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.