为什么会打印相同的结果?
string tester = "stUniqueId01";
Debug.WriteLine("ID: " + tester);
var regex = tester.Replace("[^0-9.]", "");
Debug.WriteLine("ID: " + regex);
输出:
ID: stUniqueId01
ID: stUniqueId01
答案 0 :(得分:3)
您正在呼叫string.Replace
,而不是Regex.Replace
。我想你想要:
string tester = "stUniqueId01";
Debug.WriteLine("ID: " + tester);
var regex = new Regex("[^0-9.]");
Debug.WriteLine("ID: " + regex.Replace(tester,""));
或:
string tester = "stUniqueId01";
Debug.WriteLine("ID: " + tester);
var replaced = Regex.Replace(tester,"[^0-9.]","");
Debug.WriteLine("ID: " + replaced);
如果您不打算重复使用正则表达式。
答案 1 :(得分:0)
您正在使用String中的Replace方法。它需要字符串,而不是正则表达式。尝试:
string tester = "stUniqueId01";
Console.WriteLine("ID: " + tester);
Regex rx = new Regex("[^0-9.]");
var regex = rx.Replace(tester, "");
Console.WriteLine("ID: " + regex);
结果:
ID: stUniqueId01
ID: 01