Étant donné une chaîne comme:
"Le chien a une longue queue, et c'est ROUGE!"
Quel genre de magie JQUERY, JavaScript peut être utilisé pour garder des espaces à seulement 1 max?
Objectif:
"Le chien a une longue queue, et c'est ROUGE!"
Merci
Étant donné une chaîne comme:
"Le chien a une longue queue, et c'est ROUGE!"
Quel genre de magie JQUERY, JavaScript peut être utilisé pour garder des espaces à seulement 1 max?
Objectif:
"Le chien a une longue queue, et c'est ROUGE!"
Merci
Puisque vous semblez intéressé par la performance, je profilé avec firebug. Voici les résultats que j'ai obtenu:
str.replace( / +/g, ' ' ) -> 790ms
str.replace( / +/g, ' ' ) -> 380ms
str.replace( / {2,}/g, ' ' ) -> 470ms
str.replace( /\s\s+/g, ' ' ) -> 390ms
str.replace( / +(?= )/g, ' ') -> 3250ms
C'est sur Firefox, l'exécution de 100k chaîne de remplacement.
Je vous encourage à faire vos propres tests de profilage avec firebug, si vous pensez que la performance est un problème. Les humains sont notoirement mauvais pour prédire où les goulets d'étranglement dans leurs programmes de mensonge.
(Notez également que IE 8 de la barre d'outils du développeur dispose également d'un générateur de profils construit en -- il pourrait être utile de vérifier que les performances, c'est comme dans IE.)
C'est une solution, mais elle cible tous les caractères d'espace:
"The dog has a long tail, and it is RED!".replace(/\s\s+/g, ' ')
"The dog has a long tail, and it is RED!"
Edit: C'est probablement mieux puisqu'il vise un espace suivi par 1 ou plusieurs espaces:
"The dog has a long tail, and it is RED!".replace(/ +/g, ' ')
"The dog has a long tail, and it is RED!"
Méthode Alternative:
"The dog has a long tail, and it is RED!".replace(/ {2,}/g, ' ')
"The dog has a long tail, and it is RED!"
Je n'ai pas utiliser /\s+/
par lui-même, car qui remplace les espaces qui s'étendent sur 1 caractère à plusieurs reprises et peut-être moins efficace car elle vise plus que nécessaire.
Je n'ai pas profondément test de l'un de ces lmk si il y a des bugs.
Aussi, si vous allez faire de chaîne de remplacement n'oubliez pas de ré-attribuer à la variable ou de la propriété de son propre remplacement, par exemple:
var string = 'foo'
string = string.replace('foo', '')
À l'aide de jQuery.le prototype.texte:
var el = $('span:eq(0)');
el.text( el.text().replace(/\d+/, '') )
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.