Используйте регулярные выражения, чтобы изменить <uc>текст </uc> на текст - PullRequest
0 голосов
/ 07 февраля 2020

Мне нужно преобразовать нижеследующий заголовок с помощью регулярного выражения в новый заголовок, где <uc></uc> разметка идентифицирует текст для преобразования в верхний регистр

Заголовок - "this <uc>faq</uc> deals with <uc>sp</uc>"

Новый Заголовок - "This FAQ deals with SP"

1 Ответ

3 голосов
/ 07 февраля 2020

Вы можете сделать это с помощью следующего C# кода

string s = @"this <uc>faq</uc> deals with <uc>sp</uc>"; 
string result = Regex.Replace(s, "<uc>(.*?)</uc>", m => m.Groups[1].Value.ToUpper());

, который будет соответствовать началу и концу вашей разметки, но лениво, чтобы он не совпадал более чем с одним. Он захватывает часть, которую вы хотите сохранить, затем он берет совпадение, извлекает значение захвата и вводит его в верхнем регистре. Кроме того, вы можете включить RegexOptions.IgnoreCase, если вам нужно сопоставить такие вещи, как "<UC>something</UC>".

Примечание: это не будет обрабатывать вложение, как "<uc>some<uc>stuff</uc></uc>", но я предполагаю, что вам не нужно иметь дело с чем-либо подобным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...