如何使用angularjs过滤器从字符串中删除制表符(\ t)?

时间:2017-04-12 15:09:09

标签: javascript angularjs regex angularjs-filter

我从服务器收到的html数据作为字符串我想从内容中删除\t标签字符如何使用angularjs过滤器解决此问题?使用以下代码,我在内容呈现为UI时没有看到\t从内容中删除。

filter.js

angular.module('App').filter('trusted', ['$sce', function ($sce) {
        return function(url) {
            var content = url.toString().replace('\t', '').split('\r\n');
            return $sce.trustAsResourceUrl(content);
        };
    }]);

main.html中

<tr ng-repeat="item in showMessages | filter:searchStr">
    <td>{{item.filename}}</td>
    <td class="serverResults" ng-bind-html="item.value | highlight:searchStr| trusted">{{item.value}}</td>
</tr>

数据

<p style=\"text-align: left; font-size: 15px; line-height: 20px; font-family:ClearviewATT, Arial; color: #444444; margin:0; padding:0;\">\t\t\t\t\t\t\t\t\t\t\tError Code: \t\t\t\t\t\t\t\t\t\t\t[(*ErrorCode*)]\t\t\t\t\t\t\t\t\t\t</p>

1 个答案:

答案 0 :(得分:2)

在您的过滤器中,您需要使用正则表达式

var content = url.toString().replace(/\\t/g, '').split('\r\n').toString();

否则只会移除第一个\ t(第一次出现)

如果你想删除制表符,正则表达式将是(没有双\):

var content = url.toString().replace(/\t/g, '').split('\r\n').toString();

您可以验证正则表达式here

https://jsfiddle.net中尝试后,似乎替换了(/ \ t / g,&#39;&#39;)替换\ t和表格。