Comment supprimer toutes les décimales d'une chaîne à l'exception de la dernière dans jQuery ou JavaScript?
jQuery('.addui-slider-handle-l span').text()
XXX
Mon code jQuery pour extraire les valeurs:
1233543.00 456.00 1234.00
4 Réponses :
Essayez ceci en utilisant ceci sur la chaîne:
.replace(/[.](?=.*[.])/g, "");
ou .replace (/\.(?=.*\.)/ g, "");
Donc la grande question: qu'est-ce qui est mieux? ;RÉ
[.] et \. sont les mêmes: D Il n'y a pas mieux.
Eh bien, vous pourriez dire que @NinaScholz est meilleur uniquement parce qu'il contient 2 caractères de moins en moins.
@lacostenycoder Hard; D Merci à vous deux. Fonctionne à merveille maintenant!
function text(string){
var arrayDots=string.split(".")
var lastPart= arrayDots[arrayDots.length-1];
var subresult="";
for(var i=0; i<arrayDots.length-1; i++){
subresult=subresult+arrayDots[i];
}
var result= subresult+"."+lastPart;
console.log(result);
}
This is not the easiest way but you can get the logic
Je ne sais pas si c'est plus efficace que la solution pure regex présentée, mais je sais qu'en général beaucoup de gens sont timides avec les regex, alors voici une alternative non-regex.
La logique consiste à diviser la chaîne au niveau des points, à réinsérer le dernier point, puis à rejoindre une chaîne.
var x = "1.233.543.00".split('.');
x.length>1 && x.splice(-1,0,'.');
x = x.join('');
Ici, vous pouvez l'exécuter dans une console sur cette page et obtenir ce que vous voulez pour le plaisir
$('#question').find('code').text().split(/\s/).slice(0,3).map(n => n.replace(/\.(?=.*\.)/g, ""))