我想知道如何删除Javascript字符串的第一个和最后一个字符。

我的url显示/installers/,我只想要安装程序。

有时它会是/installers/services/,我只需要installers/services。

所以不能简单地去掉斜杠/。


当前回答

可以使用子字符串方法

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

另一种方法是切片法

其他回答

你可以这样做:

"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')

这个正则表达式是在许多语言中使用的具有与trim函数相同行为的常用方法。

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

短代码太好了。

response.data.slice(1,-1) // "Prince"

-> Prince

我不认为jQuery与此有任何关系。不管怎样,试试下面的方法:

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

如果需要删除字符串的第一个字母

string.slice(1, 0)

并且去掉最后一个字母

string.slice(0, -1)

使用.replace (/ . * \ / \ / / img (\ S +),“$ 1”)

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

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