Javascript str.replace不在html中工作

Javascript str.replace不在html中工作,javascript,angularjs,string,replace,Javascript,Angularjs,String,Replace,我需要替换angular应用程序中字符串中的所有。。在我的控制器中,以下代码给出了正确的结果: 警报(“此字符串”。替换(/\ug/g,”) 但当我将相同的代码放入html文件时,如下所示: <th class="text-center" ng-repeat="(key, value) in filteredEL[0] "> {{ key.replace(/_/g, ' ') }} </th> 那么,如何使用替换函数替换html中所有必需的实例呢?只需创建一

我需要替换angular应用程序中字符串中的所有
。在我的控制器中,以下代码给出了正确的结果:

警报(“此字符串”。替换(/\ug/g,”)

但当我将相同的代码放入html文件时,如下所示:

 <th class="text-center" ng-repeat="(key, value) in filteredEL[0] ">
    {{ key.replace(/_/g, ' ') }}
 </th>

那么,如何使用替换函数替换html中所有必需的实例呢?

只需创建一个专用过滤器:

angular.module('filters.stringUtils', [])

.filter('removeUnderscores', [function() {
    return function(string) {
        if (!angular.isString(string)) {
            return string;
        }
        return string.replace(/_/g, '');
    };
}])
把它叫做:

<div id="{{'hi_there'| removeUnderscores}}"></div>

使用角度过滤器是从html进行过滤的最佳实践

请看这里的

.filter('customFilter',['$filter',函数($filter){
返回函数(输入){
如果(输入){
返回输入。替换(/u/g',);
}
}
}])

{{key | customFilter}}

{{key.replace(/\ug,,)}}
被认为是角度表达式。我知道。有趣的是,
{key.replace(''',''')}
工作正常,但它只删除第一个实例。我需要把它们全部替换掉。只是为了提供更多关于为什么这不起作用的见解。
键.replace(/\ug,”)
尝试使用
正则表达式来删除该模式的所有出现。这里是Angular文档
的摘录,您不能在AngularJS表达式中声明函数或创建正则表达式。这是为了避免模板内复杂的模型转换逻辑。这样的逻辑最好放在控制器或专用过滤器中,以便正确测试。
。参考:非常感谢你,佩尔玛塔和西亚姆Pillai@TahreemIqbal:很高兴帮助您:)
<div id="{{'hi_there'| removeUnderscores}}"></div>