2015-08-17 2 views
2

я разобрать простой объект JSON:C# Regex Capture Substring Без Whitespace

{"phone":"8 920 034-00-88"} 

Чтобы получить номер телефона я использую ниже код:

я получить результат, как: «8 920 034-00- 88 ', но мне нужен только символ цифры по номеру телефона без пробелов и' - 'как:' 89200340088 '. Могу ли я получить этот результат, используя только Regex?

+1

Не делайте этого. Вы должны использовать парсер JSON. – SLaks

+1

'var digits = new string (" {\ "phone \": \ "8 920 034-00-88 \"} ". Где (char.IsDigit) .ToArray());'? –

ответ

2

Вы можете использовать Regex.Replace и заменить все, что не цифра:

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

Вы можете использовать \ D – melwil

+0

@melwil - Даже проще, чем [^ \ d], спасибо! – lintmouse

+0

@dustmouse Спасибо! – Dmitry

0

Попробуйте удалить пробельные, дефис и апостроф

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

Результат: значение = 89200340088

+0

Замените любую цифру намного безопаснее, если вы хотите удалить любые отступы. В некоторых местах в качестве разделителя используется '/', для разделителей нет конца. – melwil