2015-04-06 3 views
0

Моей JSON строки структуры, как показано нижеУдаление части JSon строки с помощью Regex

... 
}],"twitter":[{"id": .... blaa"}]} 
... 

Я пытаюсь удалить эту часть, как показано ниже

Regex.Replace(_VarJson, string.Format("{0}.*?{1}", "\"twitter\":[{", "\"}]"), string.Empty) 

Но ничего не снимает. Где моя ошибка?

Спасибо заранее

+0

'Regex.Replace' ** возвращает ** * модифицировано * строка. – npinti

+0

@npinti OK как я могу это сделать? Не могли бы вы дать образец? – Kerberos

+0

Не обрабатывать Json с помощью регулярного выражения, любое каскадное представление должно обрабатываться с помощью * контекстно-свободных грамматик * или использовать библиотеку JSON. –

ответ

1

В вашем шаблоне регулярного выражения [{}] символов должны быть экранированы с \ символом, так как они зарезервированы регулярным выражением символов ([] обозначает группу charactrers и {} стендов для повторов в счете).

Так что ваша замена может быть сделана как

_VarJson = Regex.Replace(_VarJson, 
    string.Format("{0}.*?{1}", 
    "\"twitter\":\\[\\{", "\"\\}\\]"), 
    string.Empty); 

Но я решительно согласился с мнением @CommuSoft писал в комментариях - это лучше использовать некоторую библиотеку JSON, чтобы разобрать ваш источник JSON, а затем удалить все, что вам нужно от объектной модели и, если необходимо, записать JSON в качестве текста.

Смежные вопросы