如何删除string的第一个和最后一个字符

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

我的url显示/installers/ ,我只是想installers

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

所以我不能只是简单的去掉斜杠。

干得好

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

或者您可以按照Anka Gupta的build议使用.slice

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

切片和子string的文档。

使用切片可能更好:

 string.slice(1, -1) 

我不认为jQuery与此有关。 无论如何,请尝试以下方法:

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

你可以把它正则expression式:

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

正则expression式解释说:
– 可选的第一个斜杠: ^/? ,逃脱 – > ^\/?^表示string的开头)
– pipe道(|)可以被读作or
– 比最后的选项斜杠 – > /?$ ,转义 – > \/?$$表示string的结尾)

结合它将是^/?|/$没有逃脱。 可选的第一个斜杠或可选的最后一个斜杠

你可以这样做:

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

这个正则expression式是一种常见的方式,使许多语言中使用的trimfunction具有相同的行为。

修剪function的一个可能的实现是:

 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, ''); } 

这将删除所有/在string的开始和结束。 它处理///installers/services///

你也可以简单地做:

 "/installers/".substring(1, string.length-1); 

你可以使用substring方法

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

另一种select是slice方法

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

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

下面的正则expression式会删除第一个和最后一个斜线,如果它们存在的话,

 var result = "/installers/services/".match(/[^/].*[^/]/g)[0]; 
 url=url.substring(1,url.Length-1); 

这样,你可以使用目录如果它是… / … / … / …等