Giả sử tôi có test_23
và tôi muốn xóa test_
.Làm thế nào để loại bỏ một phần của một chuỗi?
Tôi làm như thế nào?
Tiền tố trước _
có thể thay đổi.
Giả sử tôi có test_23
và tôi muốn xóa test_
.Làm thế nào để loại bỏ một phần của một chuỗi?
Tôi làm như thế nào?
Tiền tố trước _
có thể thay đổi.
cách ưa thích của tôi để làm điều này là "tách và popping":
var str = "test_23";
alert(str.split("_").pop());
// -> 23
var str2 = "adifferenttest_153";
alert(str2.split("_").pop());
// -> 153
+1 Tôi thích điều này. – Marc
Lập trình viên C trong tôi cringes ở số lượng các đối tượng được tạo ra và bị phá hủy trên thao tác tách/pop đơn giản này :) Có lẽ: một mảng, 2 chuỗi, một mảng khác, một chuỗi khác. – Gui13
@xgbi: vâng, các nhà phát triển JavaScript và C có các triết lý khác nhau, mặc dù ;-) –
Giả sử chuỗi của bạn luôn luôn bắt đầu với 'test_'
:
var str = 'test_23';
alert(str.substring('test_'.length));
nếu nó không bắt đầu với thử nghiệm thì sao? – NullVoxPopuli
Xem câu trả lời của Andy E. – BoltClock
string = "test_1234";
alert(string.substring(string.indexOf('_')+1));
Nó thậm chí còn wor ks nếu chuỗi không có dấu gạch dưới. Hãy thử nó tại http://jsbin.com/
Điều này có ít chi phí hơn, nhưng nhiều mã hơn câu trả lời của Andy E. Cả hai đều có tác dụng, nhưng tôi thích phương pháp này. – palswim
Cách dễ nhất tôi nghĩ là:
var s = yourString.replace(/.*_/g,"_");
có lẽ bạn nên xem xét tới [Regular Expressions trong JavaScript] (http://www.w3schools.com/jsref/jsref_obj_regexp.asp) – Barranka