在这几个小时没有突破。
我有一个不同时间的时间表
4' 10' 等
但有些人有附属物
5 '+ 1' 8 '+ 2'
我已按如此设置过滤器:
angular.module('myApp').filter('addedTime', function(){
return function(text) {
var newText = text.replace(/\+.*$/, '<sup class="additional">$&</sup>');
console.log(newText);
return newText;
};
});'
正如您所看到的,它为添加时间添加了上标。但是我想删除最终的'(单引号),我无法弄清楚如何在不影响正常时间的情况下(4',6'等)。
我想完全拆分它并重新加入它但不确定这是否值得......任何建议都值得赞赏。
编辑: 基本上我试图让它看起来像
<ul>
<li>5'</li>
<li>5'<sup>+2</sup></li>
<ul>
(注意+2之后缺少单引号)
答案 0 :(得分:0)
如何在replace
中使用回调?
var newText = text.replace(/\+([0-9]*)\'/g, function(a) {
return '<sup class="additional">'+a.substring(1, a.length - 1) +'</sup>'
});
您首先发现“添加”时间,因为它们是加号,后跟数字和引号。然后你修改这个组。
给定var text = "5'+1' 8'+2'";
它返回
5'<sup class="additional">1</sup> 8'<sup class="additional">2</sup>
另一种选择:
var newText = text.replace(/\+(\d)\'/g, '<sup class="additional">$1</sup>')
返回5'<sup class="additional">1</sup> 8'<sup class="additional">2</sup>