J'ai besoin d'un filtre pour remplacer tous les traits de soulignement d'espaces dans une chaîne
string.replace
accepte non seulement la chaîne en tant que premier argument, mais également regex en tant que premier argument. Mettez donc _
dans les délimiteurs d'expression régulière /
et ajoutez également le modificateur g
avec cela. g
appelé modificateur global qui effectuera le remplacement globalement.
App.filter('underscoreless', function () {
return function (input) {
return input.replace(/_/g, ' ');
};
});
Voici une alternative générique au filtre de remplacement
App.filter('strReplace', function () {
return function (input, from, to) {
input = input || '';
from = from || '';
to = to || '';
return input.replace(new RegExp(from, 'g'), to);
};
});
Utilisez-le comme suit dans votre code HTML:
{{ addText | strReplace:'_':' ' }}
Remarque mineure: toute balise HTML du paramètre to
entraînera l'échec de l'expression en raison de règles de sécurité relatives au contenu angulaire.
Cette fonction simple peut le faire:
public getCleanedString(cadena) {
cadena = cadena.replace(/_/g, ' ');
return cadena;
}