Как удалить последний слеш из строки в JavaScript
Доброго времени суток! В данной статье мы рассмотрим с Вами, как можно удалить последний слэш из строки в JavaScript
Способ №1
Используем метод String.replace() для удаления завершающей косой черты из строки, например str.replace(/\/+$/, ''). Метод replace удалит косую черту из строки, заменив ее пустой строкой.
function deleteTrailingSlash(str) {
return str.replace(/\/+$/, '');
}
// "myrusakov.com"
console.log(deleteTrailingSlash('myrusakov.com/'));
// "myrusakov.com"
console.log(deleteTrailingSlash('myrusakov.com///'));
// "myrusakov.com"
console.log(deleteTrailingSlash('myrusakov.com'));
Мы использовали метод String.replace, чтобы получить новую строку, не содержащую косых черт в конце.
Мы передали replace методу следующие 2 аргумента:
1) Регулярное выражение , которое мы хотим найти в строке. 2) Строка замены для каждого совпадения. Так как мы хотим удалить косую черту в конце, то в качестве замены мы предоставили пустую строку. Косая черта // отмечает начало и конец регулярного выражения.
Знак плюс + соответствует предыдущему элементу (косая черта) 1 или более раз.
Знак доллара $ соответствует концу строки.
Т.е. регулярное выражение соответствует одной или нескольким косым чертам в конце строки.
Способ №2 - использовать метод String.endsWith
Чтобы удалить завершающую косую черту из строки:
- Вызываем метод endsWith() на строке и проверяем, заканчивается ли она косой чертой или нет
- Если он заканчивается косой чертой, используем метод slice для удаления последнего символа из строки.
- Если он не заканчивается косой чертой, возвращаем строку как есть.
function deleteTrailingSlash(str) {
return str.endsWith('/') ? str.slice(0, -1) : str;
}
// "myrusakov.com"
console.log(deleteTrailingSlash('myrusakov.com/'));
// "myrusakov.com"
console.log(deleteTrailingSlash('myrusakov.com'));
В данном способе мы использовали тернарный оператор, очень похожий на оператор if/else.
Если строка заканчивается косой чертой, мы вызываем метод String.slice и возвращаем всю строку до последнего символа.
В метод String.slice мы передали следующие параметры:
- start index - индекс первого символа, который будет включен в новую строку.
- end index - извлечь символы до этого индекса, но не включая его. Отрицательный индекс -1 вернет копию строки кроме последнего символа.
Индексы JavaScript отсчитываются от нуля, то есть индекс первого символа в строке равен 0, индекс последнего символа str.length - 1.
Если строка не заканчивается косой чертой, мы просто возвращаем всю исходную строку.
Обратите внимание, что этот подход не работает со сценарием, в котором строка заканчивается несколькими косыми чертами. Мы удаляем только последнюю косую черту при использовании метода slice.
Таким образом, вот так такими способами можно заменить последний слэш в JavaScript.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.