programing

모든 밑줄을 공백으로 바꾸기 위한 각도 필터

powerit 2023. 2. 22. 23:17
반응형

모든 밑줄을 공백으로 바꾸기 위한 각도 필터

모든 밑줄을 문자열의 공백으로 바꾸기 위한 필터가 필요합니다.

string.replace는 문자열을 첫 번째 인수로 받아들일 뿐만 아니라 regex도 첫 번째 인수로 받아들입니다.그러니깐_정규식 구분자 내/및 aslo 추가g수식어를 붙입니다. g글로벌하게 치환을 실행하는 글로벌 수식자라고 불립니다.

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

일반적인 대체 필터가 있습니다.

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

HTML 에서 다음과 같이 사용합니다.

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

마이너 노트:의 임의의 HTML 태그to파라미터는 Angular 콘텐츠보안규칙으로 인해 식이 실패하게 됩니다.

경우에 따라서는,split()기능.
.replace 함수는 regexp 구문(즉, regexp 구문)을 준수하지 않습니다..replace(/,/g,'\n')구문)

전체 구문:
{{myVar.toString().split(',').join('\n')}}

.toString()이 함수는 myVar가 타이프스크립트에서 String으로 입력되지 않은 경우입니다.

보다 쉬운 방법이 있습니다.

정의된 필터 없이 인라인으로 교체할 수 있습니다.이게 길이야.

이 예시는 뷰에서만 치환하기 위한 것입니다.

{{ value.replace(/_/g, ' ') }}

간단한 변경에 도움이 되었으면 좋겠는데, 더 많은 곳에서 바꾸고 싶다면 필터를 사용하세요.

다음과 같은 간단한 기능을 사용할 수 있습니다.

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

이것은 angularjs 1.4.7에서 사용되는 i입니다.

<li ng-show="filter.degree.length"> 
    <label>Search by Degree :- </label> {{
        filter.degree.toString().split('|').join(', ')
    }} 
</li>

언급URL : https://stackoverflow.com/questions/31939288/angular-filter-to-replace-all-underscores-to-spaces

반응형