没有空格的C#Regex Capture子串

时间:2015-08-17 17:15:58

标签: c# regex

我解析简单的json对象:

string phoneStr = @"{""phone"":""8 920 034-00-88""}";
string searchPattern = @"{\s*""phone""\s*:\s*""(?<phone>.+)""\s*}";

Match match = Regex.Match(phoneStr, searchPattern);
if (match.Success)
   Console.WriteLine("Phone number:{0}", match.Groups["phone"].Value);
else
   Console.WriteLine("Phone number did not match");

要获取电话号码,请使用以下代码:

overlay()

我得到的结果如下:&#39; 8 920 034-00-88&#39;,但我只需要电话号码中没有空格的数字符号和&#39; - &#39;喜欢:&#39; 89200340088&#39;。 我可以仅使用正则表达式获得此结果吗?

2 个答案:

答案 0 :(得分:2)

您可以使用Regex.Replace并替换非数字的所有内容:

var result = new Regex(@"\D").Replace(phoneStr, string.Empty);

答案 1 :(得分:0)

尝试此操作以删除空格,连字符和撇号

var value = Regex.Replace("8 920 034 - 00 - 88", @"\s|\-|'", "");
  

结果:值= 89200340088