仅从字符串的开头和结尾删除非字母数字字符

Chr*_*ris 4 c# regex

我试图使用帮助程序exe(C#)清理一些数据.

我遍历每个字符串,我想从字符串的开头和结尾删除无效字符,即从中删除美元符号$$$helloworld$$$.

使用这个正则表达式可以正常工作:\W.

但是,中间包含无效字符的字符串应该保持不变,即hello$$$$world很好,我的正则表达式不应与此特定字符串匹配.

所以从本质上讲,我试图找出在字符串的开头和结尾匹配无效字符的语法,但是在其正文中保留包含无效字符的字符串.

谢谢你的帮助!

Ani*_*dha 7

这样做了!

(^[\W_]*)|([\W_]*$)
Run Code Online (Sandbox Code Playgroud)

regex表示在start(^)或(|)结尾处匹配零个或多个非单词字符($)

  • 但请注意:使用`\ W`将忽略下划线和字母数字,因此类似*"_ helloworld _"*的内容将保持不变.如果这对OP提出了问题,那么他们可以使用类似`[^\W_]`而不是普通的`\ W`. (3认同)