我想删除第一个重复的月份和年份,我能够删除文本中的最后一个重复的单词(例如,2019年12月30日-31)。所以我想要的输出示例如下所示:2019年12月30日至31日这是我到目前为止的内容
$('.dates p').each(function(){
var string = $(this).text();
var newdatarange = string.split(' ').filter(function(allItems,i,a){
return i == a.indexOf(allItems);
}).join(' ');
$(this).text(newdatarange);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="dates">
<p>10 December 2019 - 12 December 2019</p>
<p>14 December 2019 - 16 December 2019</p>
<p>20 December 2019 - 22 December 2019</p>
<p>30 December 2019 - 31 December 2019</p>
</div>
您可以搜索相同的部分并替换字符串。
正则表达式寻找捕获组,稍后再重复。
$('.dates p').each(function() {
$(this).text($(this).text().replace(/(\D+\s+\d+)(?=.*\1)/, ''));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="dates">
<p>10 December 2019 - 12 December 2019</p>
<p>14 December 2019 - 16 December 2019</p>
<p>20 December 2019 - 22 December 2019</p>
<p>30 December 2019 - 31 December 2019</p>
</div>