2015-02-24 75 views
0

我有一个字符串:VB.NET Regex.Replace不工作

str = "Liquid Cement Factory, LLC"

和Regex.Replace电话:

System.Text.RegularExpressions.Regex.Replace(str, "[^a-zA-Z0-9/ -]", "")

逗号没有替换的呼叫后取出被制成。有谁知道为什么?我已经尝试过不同版本的正则表达式,但都没有工作。这是一个VB.NET的东西?这是逗号吗?

+0

因为您的正则表达式不匹配逗号。 – basher 2015-02-24 16:49:29

+0

是否有你在这里使用正则表达式的原因,而不是简单得多的['String.Replace'](https://msdn.microsoft.com/en-us/library/bt3szac5%28v=vs.90%29 .aspx)函数? – TZHX 2015-02-24 16:50:34

+0

“^”应该表示一个否定集,因此它应该与该表达式中的其他内容相匹配。如果我错误地使用了,请告诉我。我使用的是正则表达式而不是替换,因为它不仅仅是我想摆脱的逗号,而是那些不在那个正则表达式中的东西。 @basher – user3195786 2015-02-24 16:55:06

回答

0

the_lotus在评论中有答案,我没有设置字符串等于我的regex.replace调用。该解决方案是简单地做到这一点:

str = System.Text.RegularExpressions.Regex.Replace(str, "[^a-zA-Z0-9/ -]", "")

东西始终牢记,谢谢。