正则表达式去掉字符串中的“-”以及删除最后三个字符

时间:2023-01-07 08:25:54
如代码所示,td标签里的字符串为2016-08-09 07:04:56,我想用正则表达式将其改为20160809 07:04的格式,请大神帮忙。<td class = 'time_info'>2016-08-09 07:04:56</td>

<script>
(使用正则表达式和JavaScript)
$('.time_info').html()
</script>

3 个解决方案

#1


var reg=/-|(?::\d+$)/g;
        var str='2016-08-09 07:04:56';
        str=str.replace(reg,'');
        alert(str);

#2


方法1(不管不顾替换法): 

  var ele = document.querySelector(".time_info");
  ele.innerHTML =  ele.innerHTML.replace(/-/g,"");


方法2(整体提取拼装法):

  var str = "2016-8-9 7:04:56.540";
  var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})(\s|T)(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?(\.(\d{1,3}))?$/g;
  arr = reg.exec(str);
  var result = "我在今年" + arr[1] + "年" + arr[2] + "月" + arr[3] + "日" + arr[5] + ":" + arr[7] + ":" + arr[9]  + "又" + arr[11] + "毫秒,发了一个帖子";
  document.querySelector(".time_info").innerHTML = result ;

#3


一楼的方法可行,和我的思路一致

#1


var reg=/-|(?::\d+$)/g;
        var str='2016-08-09 07:04:56';
        str=str.replace(reg,'');
        alert(str);

#2


方法1(不管不顾替换法): 

  var ele = document.querySelector(".time_info");
  ele.innerHTML =  ele.innerHTML.replace(/-/g,"");


方法2(整体提取拼装法):

  var str = "2016-8-9 7:04:56.540";
  var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})(\s|T)(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?(\.(\d{1,3}))?$/g;
  arr = reg.exec(str);
  var result = "我在今年" + arr[1] + "年" + arr[2] + "月" + arr[3] + "日" + arr[5] + ":" + arr[7] + ":" + arr[9]  + "又" + arr[11] + "毫秒,发了一个帖子";
  document.querySelector(".time_info").innerHTML = result ;

#3


一楼的方法可行,和我的思路一致