c# - Regex 删除任何非字母数字,但在一个表达式中保留一些特殊字符

标签 c# regex

我有这段代码将所有非字母数字字符替换为“-”字符。

return Regex.Replace(strIn, @"[\W|_]+", "-", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);

但我需要更改它以允许传递一些特殊字符(一个或多个),例如:#,*,%

如何改变这个正则表达式?

最佳答案

使用

[^\p{L}\p{N}#*%]+

这匹配一个或多个既不是字母也不是数字也不是 #*% 的字符。

关于c# - Regex 删除任何非字母数字,但在一个表达式中保留一些特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711227/

相关文章:

c# - Net Core 3.1 API的Swagger UI非常慢

c# - Command 中 Item 与 UI 的绑定(bind)(初级)

c# - 在 Redis 缓存对象中执行搜索

c# - 为什么我需要 2 Console.ReadLine();暂停控制台?

regex - 删除多行字符串中的特殊字符 Scala

regex - 正则表达式 (?!\G) 在语言语法中起什么作用

java - 如何在 Android Studio 中粘贴没有格式的格式化文本?

c# - 表达式...我做错了什么?

带有变量的 Javascript 正则表达式提取

Python正则表达式提取 token