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

时间:2013-01-22 15:44:36

标签: javascript regex

var t = "\some\route\here"

我需要“\ some \ route”。

谢谢。

3 个答案:

答案 0 :(得分:64)

您需要lastIndexOfsubstr ...

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

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

<强>更新 由于这经常证明对其他人有用,这里有一个片段示例......

// 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);

答案 1 :(得分:7)

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

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

答案 2 :(得分:5)

使用JavaScript,您可以轻松实现这一目标。最后删除所有内容&#34; _&#34;次数。

componentWillUnmount