Ho bisogno di un filtro per sostituire tutte le sottolineature agli spazi in una stringafiltro angolare per sostituire tutti gli spazi sottolinea a
risposta
string.replace
non solo accetta stringa come primo argomento, ma anche accetta espressioni regolari come primo argomento. Quindi inserire _
all'interno dei delimitatori regex /
e aggiungere anche il modificatore g
insieme a quello. g
chiamato modificatore globale che eseguirà la sostituzione a livello globale.
App.filter('underscoreless', function() {
return function (input) {
return input.replace(/_/g, ' ');
};
});
Ecco un generico sostituire il filtro alternativa
App.filter('strReplace', function() {
return function (input, from, to) {
input = input || '';
from = from || '';
to = to || '';
return input.replace(new RegExp(from, 'g'), to);
};
});
Usarlo come segue nel codice HTML:
{{ addText | strReplace:'_':' ' }}
nota minore: Alcune tag HTML nel parametro to
causerà l'espressione fallire a causa delle regole di sicurezza del contenuto angolare.
great ans. funziona perfettamente per qualsiasi risorsa –
C'è un metodo easyer:
Si potrebbe sostituirlo in linea senza un filtro definito. Questo è il modo.
Questo esempio è da sostituire solo nella vista.
{{ value.replace(/_/g, ' ') }}
Spero che possa aiutare in un semplice cambiamento, se si desidera cambiare in più punti, utilizzare il filtro.
BratisLatas Mi è piaciuto il tuo metodo, tuttavia sembra sostituire solo una sola istanza, non più. – mediaguru
Questo errore se 'input' non è una stringa, o se' input' è null o undefined. – Max
semplice, basta usare un if stmt per il controllo delle condizioni. –