Câu trả lời:
Làm thế nào tôi sẽ làm điều này:
// function you can use:
function getSecondPart(str) {
return str.split('-')[1];
}
// use the function:
alert(getSecondPart("sometext-20202"));
get everything after the dash in a string in javascript, trong trường hợp này, sẽ thất bại.
Một giải pháp tôi thích sẽ là:
const str = 'sometext-20202';
const slug = str.split('-').pop();
Trong trường hợp slugsẽ là kết quả của bạn
AFAIK, cả hai substring()và indexOf()được hỗ trợ bởi cả Mozilla và IE. Tuy nhiên, lưu ý rằng chất nền () có thể không được hỗ trợ trên các phiên bản trước của một số trình duyệt (đặc biệt là Netscape / Opera).
Bài đăng của bạn chỉ ra rằng bạn đã biết cách thực hiện bằng cách sử dụng substring()và indexOf()vì vậy tôi không đăng mẫu mã.
Bạn có thể làm điều đó với RegExp tích hợp (mẫu [, cờ]) Ký hiệu xuất xưởng trong js như thế này:
RegExp(/-(.*)/).exec("sometext-20202")[1]
trong hàm thực thi mã ở trên sẽ trả về một mảng có hai phần tử (["-20202", "20202"]) một phần có dấu gạch nối (-20202) và một phần không có dấu gạch nối (20202), bạn nên chọn phần tử thứ hai (chỉ mục 1)
myString.split('-').splice(1).join('-')
myString.split('-').splice(-1).join('-')
sometext-20202-303?