javascript - 我如何只删除文本中的最终数字

原文 标签 javascript regex

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

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


我怎样才能解决这个问题?

最佳答案

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

 // This will only remove consecutive digits that occur at the end
return text.replace(/\d+$/g, '');






const original = 'tai-xe-lai-xe-bang-b2kh9088';
console.log('Original: ' + original);
console.log('Replaced: ' + original.replace(/\d+$/g, ''));

关于javascript - 我如何只删除文本中的最终数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59385276/

相关文章:

python - 使用python的正则表达式不起作用

javascript - 如何能够将图像转换为 base64 并避免同源策略

c# - 使用正则表达式查找和替换字符串中的数字

python - SQLalchemy查询中的正则表达式?

javascript - 根据每个不同元素的位置和宽度,将每个li元素定位并居中

python - 如何使用python删除包含特定模式的列表中的元素?

java - 如何在eclipse中用新内容替换搜索到的行?

javascript - 不使用JSON.parse解析字符串

javascript - jQuery根据滚动位置更改元素的CSS

c# - 最初禁用的按钮在被Javascript启用后不会回发