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

时间:2012-10-05 16:06:24

标签: c# regex

我正在尝试使用帮助程序exe(C#)清理一些数据。

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

使用此正则表达式可以正常工作:\W

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

所以从本质上讲,我试图弄清楚在字符串的开头和结尾匹配无效字符的语法,但是留下包含无效字符的字符串。

感谢您的帮助!

5 个答案:

答案 0 :(得分:7)

就是这样!

(^[\W_]*)|([\W_]*$)

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

答案 1 :(得分:0)

以下内容应该有效:

^\W+|\W+$

^$分别是字符串开头和结尾的锚点。中间的|是OR,因此这个正则表达式意味着“要么匹配字符串开头的一个或多个非单词字符,要么匹配字符串末尾的一个或多个非单词字符”

答案 2 :(得分:0)

使用^匹配字符串的开头,使用$匹配字符串的结尾。 C# Regex Cheat Sheet

答案 3 :(得分:0)

试试这个,

 (^[^\w]*)|([^\w]*$)

答案 4 :(得分:0)

使用^来匹配'行首“和$匹配'行尾',即你的代码应该匹配并删除^ \ W *和\ W * $