Je me demande comment supprimer le premier et le dernier caractère d'une chaîne en Javascript.
Mon URL montre /installers/
et je veux juste installers
.
Parfois ce sera /installers/services/
et j’ai juste besoin de installers/services
.
Donc, je ne peux pas tout simplement effacer les barres obliques /
.
Voici
var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);
console.log(result);
Ou vous pouvez utiliser .slice
comme suggéré par Anka Gupta
var yourString = "/installers/services/";
var result = yourString.slice(1,-1);
console.log(result);
Documentation pour les tranche et sous-chaîne .
Il peut être plus agréable d’utiliser une tranche comme:
string.slice(1, -1)
Je ne pense pas que jQuery a quelque chose à voir avec cela. Quoi qu'il en soit, essayez ce qui suit:
url = url.replace(/^\/|\/$/g, '');
Vous pouvez le dire:
"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services
La regex a expliqué:
- Première barre oblique optionnelle: ^/?
, échappé -> ^\/?
(le ^
signifie le début de la chaîne)
- Le tuyau (|) peut être lu comme or
- Plus que la barre oblique à la fin -> /?$
, échappé -> \/?$
(le $
signifie la fin de la chaîne)
Combiné, ce serait ^/?|/$
sans s'échapper. Première barre oblique optionnelle OR dernière barre oblique optionnelle
Vous pouvez faire quelque chose comme ça:
"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')
Cette expression régulière est un moyen courant d’avoir le même comportement que la fonction trim
utilisée dans de nombreuses langues.
Une implémentation possible de la fonction trim est:
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, '');
}
Ce qui supprimera tous les /
au début et à la fin de la chaîne. Il gère les cas comme ///installers/services///
Vous pouvez aussi simplement faire:
"/installers/".substring(1, string.length-1);
Vous pouvez utiliser la méthode substring
s = s.substring(0, s.length - 1) //removes last character
une autre alternative est la méthode slice
si vous avez besoin de retirez le premier leter de la chaîne
string.slice(1, 0)
et pour enlever la dernière lettre
string.slice(0, -1)
utiliser .replace(/.*\/(\S+)\//img,"$1")
"/installers/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services
"/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services