要找到的正则表达式是什么(PoundSomenumberSemiColonPound)(又名#Number;#)?我用过这个但不能正常工作
string st = Regex.Replace(string1, @"(#([\d]);#)", string.Empty);
答案 0 :(得分:4)
您正在寻找#\d+;#
。
\d
匹配单个数字字符+
匹配前面一个或多个字符。答案 1 :(得分:1)
(\x23\d+\x3B\x32)
#
和/
都用于模式,因此遇到麻烦。尝试使用上面的内容(通常当我遇到特定字符的问题时,我会回复他们的hex传真(asciitable.com有一个很好的参考)
编辑忘记分组替换。
EDITv2 以下对我有用:
String string1 = "sdlfkjsld#132;#sdfsdfsdf#1;#sdfsdfsf#34d;#sdfs";
String string2 = System.Text.RegularExpressions.Regex.Replace(string1, @"(\x23\d+\x3B\x23)", String.Empty);
Console.WriteLine("from: {0}\r\n to: {1}", string1, string2);;
输出:
from: sdlfkjsld#132;#sdfsdfsdf#1;#sdfsdfsf#34d;#sdfs
to: sdlfkjsldsdfsdfsdfsdfsdfsf#34d;#sdfs
Press any key to continue . . .
答案 2 :(得分:0)
除了@SLaks关于使用#
允许多位数的评论
+
符号,它们通常被解释为评论标记。
答案 3 :(得分:0)
使用\d
时不需要字符类,而SLaks指出您需要+
来匹配一个或多个数字。此外,由于你没有捕获任何东西,括号也是多余的,所以这样的事情应该这样做
string st = Regex.Replace(string1, @"#\d+;#", string.Empty);