如何删除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式是一种常见的方式,使许多语言中使用的trim
function具有相同的行为。
修剪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);
这样,你可以使用目录如果它是… / … / … / …等