var t = "\some\route\here"
そこから「\some\route」が必要です。
ありがとうございました。
var t = "\some\route\here"
そこから「\some\route」が必要です。
ありがとうございました。
あなたが必要lastIndexOf
とし、substr
...
var t = "\\some\\route\\here";
t = t.substr(0, t.lastIndexOf("\\"));
alert(t);
\
また、文字列は特殊文字をエスケープするために使用されるため、文字を2倍にする必要があります。
更新 これは他の人にとって定期的に役立つことが証明されているので、ここにスニペットの例を示します...
// 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の回答で述べられているように、バックスラッシュを2倍にする必要があります。正規表現置換を使用して、必要な文字列を取得することをお勧めします。
var t = "\\some\\route\\here";
t = t.replace(/\\[^\\]+$/,"");
alert(t);
JavaScriptを使用すると、これを簡単に実現できます。最後の「_」の発生後にすべてを削除します。
var newResult = t.substring(0, t.lastIndexOf("_") );