У меня есть две переменные:
site1 = "www.somesite.com";
site2 = "www.somesite.com/";
Я хочу сделать что-то подобное
function someFunction(site)
{
// If the var has a trailing slash (like site2),
// remove it and return the site without the trailing slash
return no_trailing_slash_url;
}
Как мне это сделать?
Ответы:
Попробуй это:
источник
return site.replace(/\/+$/, "");
Примечание. IE8 и более ранние версии не поддерживают отрицательные смещения смещения. Используйте
str.length - 1
вместо этого, если вам нужно поддерживать эти древние браузеры.источник
ES6 / ES2015 предоставляет API для запроса о том, заканчивается ли строка чем-то, что позволяет написать более понятную и читаемую функцию.
источник
str
заканчивается/
косая черта. У вас должно быть два утверждения (или два теста), одно с косой чертой и одно без.Я бы использовал регулярное выражение:
Вы хотите убедиться, что переменная
site
является строкой.источник
Этот фрагмент более точен:
/
строки, так как это действительный URL.источник
Я знаю, что вопрос о конечных слешах, но я нашел этот пост во время поиска обрезки (как в хвосте, так и в начале строкового литерала), так как людям понадобится это решение, которое я выкладываю здесь:
ОБНОВЛЕНИЕ :
как упоминалось в комментариях @Stephen R , если вы хотите удалить как косую черту, так и обратную косую черту как в хвостовой части, так и в начале строкового литерала, вы должны написать:
источник
.replace(/^[\\/]+|[\\/]+$/g, '')
На основании ответа @vdegenne ... как раздеться:
Одиночная косая черта:
theString.replace(/\/$/, '');
Одиночные или последовательные косые черты:
theString.replace(/\/+$/g, '');
Одиночный ведущий слеш:
theString.replace(/^\//, '');
Одиночные или последовательные ведущие косые черты:
theString.replace(/^\/+/g, '');
Одиночные начальные и конечные слеши:
theString.replace(/^\/|\/$/g, '')
Одиночные или последовательные начальные и конечные слеши:
theString.replace(/^\/+|\/+$/g, '')
Для того, чтобы обрабатывать как слеши и обратные косые черты, заменить экземпляры
\/
с[\\/]
источник
Легкий способ, который я знаю, это
Затем он проверит наличие символа / на конце и, если он там, удалит его, если он не вернет вашу строку, как это было
Еще одна вещь, которую я пока не могу комментировать. @ThiefMaster Ух ты, ты не заботишься о памяти, не так ли?
Исправлена калькуляция для нулевого индекса в строке.
источник
Вот небольшой пример URL.
войти новый URL
источник
другое решение.
источник
источник
subtring
? Кроме того, он удаляет первый слеш и все после него.substring
? Также да, я хотел удалить первую косую черту и все после нее, так как она заполняет счет за опубликованные данные вопроса и примера.