Làm cách nào để xóa một phần của chuỗi trước “:” trong javascript?


111

Nếu tôi có một chuỗi Abc: Lorem ipsum sit amet, làm cách nào tôi có thể sử dụng JavaScript / jQuery để xóa chuỗi trước khi :bao gồm :. Ví dụ chuỗi trên sẽ trở thành: Lorem ipsum sit amet.


2
Tôi đã thêm thẻ javascript vì nó có trong câu hỏi và phù hợp với câu hỏi hơn là jquery.
Spudley

Câu trả lời:


290

Không cần jQuery ở đây, JavaScript thông thường sẽ thực hiện:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

Hoặc, phiên bản .split().pop():

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

Hoặc, phiên bản regex (một số biến thể của cái này):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
Câu trả lời tuyệt vời, tôi thích các giải pháp khác nhau
Aardvark

22
Lưu ý nếu có nhiều hơn một :trong chuỗi, biến thể thứ hai sẽ trả về chuỗi theo sau chuỗi cuối cùng thay vì chuỗi đầu tiên như trong các biến thể khác. Thật không may là không có tùy chọn split-only-n-times trong split()phương thức của JS , điều này sẽ cho phép bạn thực hiện kiểu Python .split(':', 1)[1]. (Có một tùy chọn numberđối số, nhưng nó không làm những gì bất kỳ người bình thường mong đợi.)
bobince

@bobince - Bạn nói đúng, tôi đang đặt ra một chút giả định ở đây rằng anh ấy có một label: somethingđịnh dạng nhất quán , nếu đó không phải là trường hợp, tôi sẽ chọn tùy chọn đầu tiên.
Nick Craver

2
Bạn có thể tách và nối để loại bỏ một số phần tử dựa trên dấu phân cách. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.