C# 仅从字符串的开头和结尾删除非字母数字字符
我正在尝试使用helper exe(C#)清理一些数据 我遍历每个字符串,希望从字符串的开头和结尾删除无效字符,即从C# 仅从字符串的开头和结尾删除非字母数字字符,c#,regex,C#,Regex,我正在尝试使用helper exe(C#)清理一些数据 我遍历每个字符串,希望从字符串的开头和结尾删除无效字符,即从$$$$helloworld$$$中删除美元符号 使用以下正则表达式可以很好地工作:\W 但是,中间包含无效字符的字符串应该单独保留,即 hello $ $$Word < /C> >,并且我的正则表达式不应该与这个特定字符串匹配。 因此,本质上,我试图找出匹配字符串开头和结尾无效字符的语法,但将包含无效字符的字符串保留在其主体中 谢谢你的帮助 就是这样 (^[\W_]*)|([\W
$$$$helloworld$$$
中删除美元符号
使用以下正则表达式可以很好地工作:\W
但是,中间包含无效字符的字符串应该单独保留,即<代码> hello $ $$Word < /C> >,并且我的正则表达式不应该与这个特定字符串匹配。 因此,本质上,我试图找出匹配字符串开头和结尾无效字符的语法,但将包含无效字符的字符串保留在其主体中
谢谢你的帮助 就是这样(^[\W_]*)|([\W_]*$)
此
regex
表示在开头(^
)或结尾($
)匹配零个或多个非单词字符。以下操作应有效:
^\W+|\W+$
^
和$
分别是字符串开头和结尾的锚点。中间的“代码”>是一个OR,因此这个正则表达式意味着“在字符串的开头匹配一个或多个非单词字符,或者匹配字符串结尾的一个或多个非单词字符”。< P>使用^匹配字符串的开始,和$匹配字符串的结尾。 试试这个
(^[^\w]*)|([^\w]*$)
使用“^”匹配“行首”和“$”匹配“行尾”,即您的代码应该匹配并删除“^\W*和\W*$”注意:使用
\W
将忽略下划线和字母数字,因此类似“\u helloworld\u”的内容将保持不变。如果这给OP带来了问题,那么他们可以使用类似于[^\W\uz]
的东西,而不是普通的\W
。