js怎么获取一串字符串中最后出现的数字?

'abc88a123'
// 123

'aaaaaa-123'
// 123

'aaaaaa'
// 0

'123'
// 123

类似这样,如果有数字返回数字,没数字返回0

阅读 2.1k
4 个回答

'abc88a123'.replace(/^.*?(\d*)$/, (str, match, index) => match || '0')

'aaaaaa-123'.split(/[^0-9]/).pop() || 0;

除了正则, 还可以通过查找 ASCLL 来获取

<script>
  function getNum(str) {
    let result = '';
    for (let i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
            result += str[i];
        } else {
            result = '';
        }
    }
    return result;
  }
  console.log(getNum('0abc123def456g987'));
</script>
新手上路,请多包涵

a='aaaaaa-123'
a.slice(a.lastIndexOf('123'))

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题