如何只删除字符串末尾的数字?

时间:2019-02-07 10:00:49

标签: javascript regex

我有以下代码来获取字符串并仅删除最后一个数字后对其发出警报。目前,我有以下代码。但是在这里,请删除字符串中的所有数字,包括字符串中间的数字。但是我只需要删除字符串末尾的数字。

Ex - String = "ABC_1_XY_20"
     alert -> "ABC_1_XY_"

我需要保留“ 1”,但现在我也丢失了它。我该如何解决?

$("button").on("click", function(){
  var st = "ABC_1_XY_20".replace(/[\d\.]/g ,'');
  alert(st);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Click</button>

2 个答案:

答案 0 :(得分:3)

要解决此问题,请使用$字符类表示匹配项应在字符串的末尾进行。这也使g修饰符变得多余。您也可以使用+在字符串的末尾重复数字和.个字符。试试这个:

$("button").on("click", function() {
  var st = "ABC_1_XY_20".replace(/[\d\.]+$/, '');
  console.log(st);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Click</button>

答案 1 :(得分:0)

尝试执行此操作,它将删除字符串中的las digit(\ d)

var st = "ABC_1_XY_201".replace(/\d$/ ,'');
  console.log(st);