我想知道如何在Javascript中删掉字符串的第一个和最后一个字符。
我的URL显示为/installers/
,我只需要installers
。
有时它会是/installers/services/
,我只需要installers/services
。
因此,我不能简单地删除斜杠/
。
我想知道如何在Javascript中删掉字符串的第一个和最后一个字符。
我的URL显示为/installers/
,我只需要installers
。
有时它会是/installers/services/
,我只需要installers/services
。
因此,我不能简单地删除斜杠/
。
这里是你需要的内容
var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);
console.log(result);
或者,您可以像Ankit Gupta建议的那样使用.slice
var yourString = "/installers/services/";
var result = yourString.slice(1,-1);
console.log(result);
可以使用slice
更好的方式:
string.slice(1, -1)
我认为jQuery与此无关。无论如何,请尝试以下操作:
url = url.replace(/^\/|\/$/g, '');
/^\/+|\/+$/g
。 - georg如果您的字符串没有始终包含斜杠,您可以使用正则表达式来解决。虽然正则表达式比简单的替换/切片要慢,但它具有更多的逻辑空间:
"/installers/services/".replace(/^\/?|\/?$/g, "")
# /installers/services/ -> installers/services
# /installers/services -> installers/services
# installers/services/ -> installers/services
正则表达式解释:
^
] + [可选项?
] + [斜杠]: ^/?
,转义 -> ^\/?
或
$
] + [可选项?
] + [斜杠] -> /?$
,转义 -> \/?$
合并后是 ^\/?|\/?$
,不需要转义。可选的第一个斜杠或可选的最后一个斜杠。
严格来说不是“可选项”,而是“出现零次或一次”。
"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')
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
方法。string.slice(1, 0)
去除字符串的第一个字符。string.slice(0, -1)
去除字符串的最后一个字符。.replace(/.*\/(\S+)\//img,"$1")
"/installers/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services
"/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services
这是一个非常好的短代码。
response.data.slice(1,-1) // "Prince"
-> Prince
尝试:
url=url.substring(1,url.length-1);
你可以使用目录,例如 .../.../.../...
等。