var t = "\some\route\here"
Xóa mọi thứ sau dấu gạch chéo ngược cuối cùng
Tôi cần "\ some \ route" từ đó.
Cảm ơn bạn.
var t = "\some\route\here"
Xóa mọi thứ sau dấu gạch chéo ngược cuối cùng
Tôi cần "\ some \ route" từ đó.
Cảm ơn bạn.
Bạn cần lastIndexOf
và substr
...
var t = "\\some\\route\\here";
t = t.substr(0, t.lastIndexOf("\\"));
alert(t);
Ngoài ra, bạn cần phải tăng gấp đôi lên \
chars trong chuỗi khi chúng được sử dụng để thoát ký tự đặc biệt.
Cập nhật Vì đây thường xuyên được chứng minh hữu ích cho người khác, đây là một ví dụ đoạn ...
// 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);
Cảm ơn BẠN. Làm thế nào để tôi gấp đôi. Tôi đã thử này t.replace ("\\", "\\\\") nó did't làm việc – INgeek
Bạn chỉ cần làm điều đó khi bạn thiết lập một chuỗi giá trị trực tiếp trong mã, như trong ví dụ trên. Nếu bạn nhận được nó từ một nơi khác (ví dụ, URL) thì đừng lo lắng về nó :) – Archer
t.replace (/ \\/g, "\\\\") không hoạt động tốt – INgeek
Như đã nêu trong @ câu trả lời của Archer, bạn cần phải tăng gấp đôi lên trên các dấu gạch chéo ngược. Tôi khuyên bạn nên sử dụng regex thay thế để nhận được chuỗi bạn muốn:
var t = "\\some\\route\\here";
t = t.replace(/\\[^\\]+$/,"");
alert(t);
Sử dụng JavaScript bạn có thể dễ dàng đạt được điều này. Xóa mọi thứ sau lần xuất hiện "_" cuối cùng.
var newResult = t.substring(0, t.lastIndexOf("_"));
isuru, không phải điều này đã được đề cập đến trong các câu trả lời hiện tại chưa? – KyleMit
@KyleMit Bạn có thấy không? Ông đã cập nhật câu trả lời trước đó của mình. – isuru
Để thêm * thậm chí nhiều hơn * thông tin, nhưng ngay cả phiên bản ngày [Jan 22nd, 2013] (https://stackoverflow.com/posts/14462451/revisions) bao gồm 't = t.substr (0, t.lastIndexOf (" \\ "));' giống với câu trả lời của bạn – KyleMit
Look đây: http://stackoverflow.com/questions/6764435/jquery-split-after-last-slash –
Nó không thể được thực hiện với jQuery ': P'. –
[MDN - 'String.prototype.lastIndexOf()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) – KyleMit