Posterior a consultar expertos en esta materia, programadores de diversas áreas y profesores hemos dado con la respuesta a la pregunta y la plasmamos en este post.
Solución:
Puedes usar una pipa
https://angular.io/guide/tuberías
import Pipe, PipeTransform from '@angular/core';
@Pipe(name: 'replaceUnderscore')
export class ReplaceUnderscorePipe implements PipeTransform
transform(value: string): string
return value? value.replace(/_/g, " ") : value;
Entonces úsalo como
replaceUnderscore
También podría hacer una versión más genérica que tome el patrón para reemplazar y el reemplazo como parámetros, como la respuesta de @Ash-b para angularJs
import Pipe, PipeTransform from '@angular/core';
@Pipe(name: 'replace')
export class ReplacePipe implements PipeTransform
transform(value: string, strToReplace: string, replacementStr: string): string
Y úsalo como
replace : '_' : ' '
Aquí hay una demostración en stackblitz
Si solo hay una instancia, puede usar esto,
header.replace('_', ' ')
o de lo contrario tienes que usar filtro
App.filter('strReplace', function ()
return function (input, from, to)
input = input ;
);
y usarlo como
strReplace:'_':' '
espero que esto ayude 🙂
Puedes hacer lo siguiente:
- crear una pipa
-
en el método transform escribe lo siguiente
transform(value: any, args?: any): string let [first, ...rest] = value.split("_"); if (rest.length === 0) return first; else return `$first $rest.join(" ")`;
este código manejará si el key tener guión bajo o no.
- key = angular_7 => angular 7
- key = angular => angular
Agradecemos que desees amparar nuestra función dejando un comentario o valorándolo te lo agradecemos.