90 votes

Remplacer la dernière occurrence de caractère dans la chaîne

Existe-t-il un moyen facile dans javascript de remplacer la dernière occurrence d'un '_' (underscore) dans une chaîne donnée ?

11voto

Harry Stevens Points 429

Qu'en est-il ?

function replaceLast(x, y, z){
  var a = x.split("");
  a[x.lastIndexOf(y)] = z;
  return a.join("");
}

replaceLast("Hello world!", "l", "x"); // Hello worxd!

6voto

tensai Points 30

Une autre façon très claire de procéder pourrait être la suivante :

let modifiedString = originalString
   .split('').reverse().join('')
   .replace('_', '')
   .split('').reverse().join('')

5voto

Dinesh Verma Points 147

Restez simple

var someString = "a_b_c";
var newCharacter = "+";

var newString = someString.substring(0, someString.lastIndexOf('_')) + newCharacter + someString.substring(someString.lastIndexOf('_')+1);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X