Ответ 1
Здесь вы идете
var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);
Или вы можете использовать .slice
, как предложено Anka Guptap >
var result = yourString.slice(1, -1);
Мне интересно, как удалить первый и последний символ строки в Javascript.
Мой url показывает /installers/
, и я просто хочу installers
.
Иногда это будет /installers/services/
, и мне просто нужно installers/services
.
Поэтому я не могу просто просто удалить черты /
.
Здесь вы идете
var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);
Или вы можете использовать .slice
, как предложено Anka Guptap >
var result = yourString.slice(1, -1);
Может быть, лучше использовать срез вроде:
string.slice(1, -1)
Я не думаю, что jQuery имеет к этому какое-то отношение. В любом случае, попробуйте следующее:
url = url.replace(/^\/|\/$/g, '');
Вы можете повторно использовать его:
"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services
Регулярное объяснение:
- Необязательная первая косая черта: ^/?
, escaped → ^\/?
(^
означает начало строки)
- Трубу (|) можно читать как or
- Чем косой чертой в конце → /?$
, escaped → \/?$
($
означает конец строки)
В сочетании это будет ^/?|/$
без экранирования. Необязательная первая косая черта ИЛИ необязательная последняя косая черта
Вы можете сделать что-то вроде этого:
"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')
Это регулярное выражение является обычным способом иметь такое же поведение функции trim
, используемой на многих языках.
Возможная реализация функции триммера:
function trim(string, char){
if(!char) char = ' '; //space by default
char = char.replace(/([()[{*+.$^\\|?])/g, '\\$1'); //escape char parameter if needed for regex syntax.
var regex_1 = new RegExp("^" + char + "+", "g");
var regex_2 = new RegExp(char + "+$", "g");
return string.replace(regex_1, '').replace(regex_2, '');
}
Будет удалено все /
в начале и в конце строки. Он обрабатывает такие случаи, как ///installers/services///
Вы также можете просто:
"/installers/".substring(1, string.length-1);
Вы можете использовать метод substring
s = s.substring(0, s.length - 1) //removes last character
другой альтернативой является метод slice
использовать .replace(/.*\/(\S+)\//img,"$1")
"/installers/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services
"/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services
Следующее регулярное выражение разделит первую и последнюю косые черты, если они существуют,
var result = "/installers/services/".match(/[^/].*[^/]/g)[0];
url=url.substring(1,url.Length-1);
Таким образом, вы можете использовать каталоги, если это похоже... /.../.../... и т.д.