wake-up-neo.com

Winkelfilter, um alle Unterstriche in Leerzeichen zu ersetzen

Ich brauche einen Filter, um alle Unterstriche durch Leerzeichen in einer Zeichenfolge zu ersetzen 

21
Ayeye Brazo

string.replace akzeptiert nicht nur String als erstes Argument, sondern auch Regex als erstes Argument. Setzen Sie also _ innerhalb der regulären Begrenzungszeichen / und fügen Sie auch den Modifikator g hinzu. g wurde globaler Modifikator genannt, der die Ersetzung global übernimmt.

App.filter('underscoreless', function () {
  return function (input) {
      return input.replace(/_/g, ' ');
  };
});
35
Avinash Raj

Hier ist eine generische Ersatzfilter-Alternative

App.filter('strReplace', function () {
  return function (input, from, to) {
    input = input || '';
    from = from || '';
    to = to || '';
    return input.replace(new RegExp(from, 'g'), to);
  };
});

Verwenden Sie es wie folgt in Ihrem HTML-Code:

{{ addText | strReplace:'_':' ' }}

Kleiner Hinweis: Bei HTML-Tags im Parameter to schlägt der Ausdruck aufgrund der Angular-Inhaltssicherheitsregeln fehl.

16
John Rix

In einigen Fällen können Sie die Funktion split() verwenden.
. replace-Funktion entspricht nicht der regulären Ausdruckssyntax (d. h. .replace(/,/g,'\n')-Syntax)

Vollständige Syntax:
{{myVar.toString().split(',').join('\n')}}

.toString() Funktion für den Fall, dass myVar in TypeScript nicht als String eingegeben wird.

2
Damien C

Diese einfache Funktion kann es tun:

public getCleanedString(cadena) {
    cadena = cadena.replace(/_/g, ' ');
    return cadena;
  }
0
Avellino