正则表达式:如何不替换数字?

时间:2018-12-04 22:19:01

标签: javascript regex

我有一个功能:

export const formatScenarioName = (name) => (
  name.replace(/[^a-zA-Z ]/g, '').replace(/\s/g, '-').toLowerCase()
)

我相信这会删除(空格)和特殊字符,并用连字符代替空格。但是,它也在替换数字。我该如何做相反的事情?我想保留数字。

2 个答案:

答案 0 :(得分:1)

应该是

export const formatScenarioName = (name) => (
    name.replace(/[^a-zA-Z0-9 ]/g, '').replace(/\s/g, '-').toLowerCase()
)

但是您也可以使用\w而不是a-zA-Z0-9来结束

/[^\w ]/g

但是它包含_字符https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp

答案 1 :(得分:-1)

一行:

fmt.Printf(Press any key to proceed...")

示例:

const formatScenarioName = name => name.replace(/\W/g, '').replace(/\s/g, '-').toLowerCase()