Как удалить первый и последний символ строки

Мне интересно, как удалить первый и последний символ строки в Javascript.

Мой url показывает /installers/, и я просто хочу installers.

Иногда это будет /installers/services/, и мне просто нужно installers/services.

Поэтому я не могу просто просто удалить черты /.

Ответ 1

Здесь вы идете

var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);

Или вы можете использовать .slice, как предложено Anka Gupta​​p >

var result = yourString.slice(1, -1);

Документация для slice и substring.

Ответ 2

Может быть, лучше использовать срез вроде:

string.slice(1, -1)

Ответ 3

Я не думаю, что jQuery имеет к этому какое-то отношение. В любом случае, попробуйте следующее:

url = url.replace(/^\/|\/$/g, '');

Ответ 4

Вы можете повторно использовать его:

"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services

Регулярное объяснение:
- Необязательная первая косая черта: ^/?, escaped → ^\/? (^ означает начало строки)
- Трубу (|) можно читать как or
- Чем косой чертой в конце → /?$, escaped → \/?$ ($ означает конец строки)

В сочетании это будет ^/?|/$ без экранирования. Необязательная первая косая черта ИЛИ необязательная последняя косая черта

Ответ 5

Вы можете сделать что-то вроде этого:

"/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);

Ответ 6

Вы можете использовать метод substring

s = s.substring(0, s.length - 1) //removes last character

другой альтернативой является метод slice

Ответ 7

использовать .replace(/.*\/(\S+)\//img,"$1")

"/installers/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services

"/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services

Ответ 8

Следующее регулярное выражение разделит первую и последнюю косые черты, если они существуют,

var result = "/installers/services/".match(/[^/].*[^/]/g)[0];

Ответ 9

url=url.substring(1,url.Length-1);

Таким образом, вы можете использовать каталоги, если это похоже... /.../.../... и т.д.