在Javascript中使用正则表达式替换字符串的一部分

时间:2017-11-24 05:26:35

标签: javascript angularjs regex

我有一些文字我试图用Angularjs中的正则表达式替换部分。

文本格式为:

ColumnB

我想在Age之后更换部件:使用'删除' (所以66不会出现),所以我创建了这个过滤器,对我来说似乎应该有效:

Name: Jane
Age: 66
Address: 31 Test Street

html的相关部分:

angular.module('person')
    .controller(controllerId, personControl)
.filter('ageFilter', function () {
    return function (text) {
        if (text)
            return text.replace(/[\n\r].*Age: \s*([^\n\r]*)/, 'REDACTED');
        return '';
    }
});

过滤器被点击但文本永远不会被替换。当我在Regex测试网站上测试时,我的正则表达式有效,所以我认为我可能做了其他错误,我看不到。

1 个答案:

答案 0 :(得分:1)

试试这个:

return text.replace(/([\n\r]+.*Age: )(\s*)([^\n\r]*)/, '$1REDACTED$2')