我有一些文本,我试图用 Angularjs 中的正则表达式替换其中的一部分。
文本将采用以下格式:
Name: Jane
Age: 66
Address: 31 Test Street
我想用“REDACTED”替换 Age: 之后的部分(这样 66 就不会出现),所以我创建了这个过滤器,在我看来它应该可以工作:
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 '';
}
});
html的相关部分:
<dd ng-bind-html="vm.model.PERSON_INFO | ageFilter"></dd>
筛选器已命中,但文本从未被替换。当我在 Regex 测试网站上测试时,我的 regex 有效,所以我认为我可能做错了一些我看不到的事情。
最佳答案
试试这个:
return text.replace(/([\n\r]+.*Age: )(\s*)([^\n\r]*)/, '$1REDACTED$2')
关于javascript - 在 Javascript 中使用正则表达式替换字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466854/