web-dev-qa-db-fra.com

Regex à supprimer en dernier/s'il existe en tant que dernier caractère de la chaîne

Je voudrais qu'une expression régulière ou une méthode supprime le dernier caractère d'une chaîne si et seulement si ce caractère est '/'. Comment puis-je le faire?

20
P.Brian.Mackey
string = string.replace(/\/$/, "");

$ marque la fin d'une chaîne. \/ est un / échappé par RegExp. Combinaison des deux = Remplacez le / à la fin d'une ligne.

59
Rob W

Juste pour donner une alternative:

var str="abc/";
str.substring(0, str.length - +(str.lastIndexOf('/')==str.length-1)); // abc

var str="aabb";
str.substring(0, str.length - +(str.lastIndexOf('/')==str.length-1)); // aabb

Ceci joue avec le fait que Number(true) === 1 et Number(false) === 0

5
Joe
var str = "example/";
str = str.replace(/\/$/, '');
2
megaflop
var str = //something;
if(str[str.length-1] === "/") {
    str = str.substring(0, str.length-1);
}
1
Dennis
var t = "example/";
t.replace(/\/$/, ""));
1
Larsenal

Ce n'est pas regex mais pourrait résoudre votre problème

var str = "abc/";

if(str.slice(-1) == "/"){
str = str.slice(0,-1)+ "";
}
0
Chandrakant
$('#ssn1').keyup(function() {
      var val = this.value.replace(/\D/g, '');
      val = val.substr(0,9)
      val = val.substr(0,3)+'-'+val.substr(3,2)+'-'+val.substr(5,4)
      val = val.replace('--','').replace(/-$/g,'')
      this.value = val;
});
0
Metafr