Avi*_*Raj 38
string.replace不仅接受字符串作为第一个参数,而且它接受正则表达式作为第一个参数.所以放在_正则表达式分隔符中,/然后添加 g修饰符.g称为全局修饰符,它将在全局范围内进行替换.
App.filter('underscoreless', function () {
return function (input) {
return input.replace(/_/g, ' ');
};
});
Run Code Online (Sandbox Code Playgroud)
Joh*_*Rix 19
这是一个通用的替换过滤器替代品
App.filter('strReplace', function () {
return function (input, from, to) {
input = input || '';
from = from || '';
to = to || '';
return input.replace(new RegExp(from, 'g'), to);
};
});
Run Code Online (Sandbox Code Playgroud)
在HTML中使用如下:
{{ addText | strReplace:'_':' ' }}
Run Code Online (Sandbox Code Playgroud)
次要注意:to由于Angular内容安全规则,参数中的任何HTML标记都会导致表达式失败.
在某些情况下,您可以使用split()函数。
.replace 函数不符合 regexp 语法(即.replace(/,/g,'\n')语法)
完整语法:
{{myVar.toString().split(',').join('\n')}}
.toString()函数是为了防止 myVar 在打字稿中未输入为字符串。