javascript - 正则表达式:我如何不替换数字?
问题描述
我有一个功能:
export const formatScenarioName = (name) => (
name.replace(/[^a-zA-Z ]/g, '').replace(/\s/g, '-').toLowerCase()
)
我相信这会删除(空白)空格和特殊字符,并用连字符替换空格。但是,它也在替换数字。我该如何做相反的事情?我想保留数字。
解决方案
它应该是
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
推荐阅读
- java - 卡在从android中的另一个类获取arraylist
- java - 日期不显示在 TableView 中
- c - 编译器说参数列表错误,然后在下一句中说函数是未解析的外部符号?这怎么可能?怎么修?
- regex - 改进主题标签的正则表达式以生成链接
- python - ValueError: Expected object or value <-> Can't load a json file to pandas dataframe, or convert to csv, 要么就足够了
- c# - 在 EF Core 中加入两个表,列名无效
- c++ - 黑客等级 Mini-Max Sum
- python - 如何更高效地处理 Pandas groupby 对象?
- java - 如何为自定义扫描仪编写 Java hasNext() 函数
- r - 如何使用 R 连接 Salesforce?