首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何只删除文本中的最后一个数字

如何只删除文本中的最后一个数字
EN

Stack Overflow用户
提问于 2019-12-18 11:56:39
回答 2查看 70关注 0票数 1

我有这个问题。我只想删除字符串中的最后一个数字,比如"tai-xe-lai-xe-bang-b2kh9088“-> "tai-xe-lai-xe-bang-b2kh”。我尝试使用正则表达式,但结果是"tai-xe-lai-xe-bang-bkh“这是我的代码

代码语言:javascript
复制
const validateSlug= text => {
    const containsNumber =/\d+/
    const textArraySplited = text.split('-')
    // get final text of array splited
    const textSplitedFinal = textArraySplited[textArraySplited.length - 1]

    if (containsNumber.test(textSplitedFinal)) {
      return text.replace(/\d/g, '')
    }
    return text
  }

const a='tai-xe-bang-bk2k8398'
console.log(validateSlug(a)) //the result is tai-xe-bang-bkk but I want the result is tai-xe-bang-bk2k

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-18 12:00:11

如果只想删除出现在末尾的数字,可以在现有表达式后使用表达式末尾锚定字符$

代码语言:javascript
复制
 // This will only remove consecutive digits that occur at the end
return text.replace(/\d+$/g, '');

示例

代码语言:javascript
复制
const original = 'tai-xe-lai-xe-bang-b2kh9088';
console.log('Original: ' + original);
console.log('Replaced: ' + original.replace(/\d+$/g, ''));

票数 4
EN

Stack Overflow用户

发布于 2019-12-18 12:00:25

代码语言:javascript
复制
var aa = /\d+$/
var s = "tai-xe-bang-bk2k8398"
s.replace(aa,"")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59385276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档