Изменение регистра символа внутри переменной по регулярному выражению (или на С#)

Rimen

Client
Регистрация
28.10.2019
Сообщения
405
Благодарностей
235
Баллы
43
Здравствуйте!
есть контент в html-разметке внутри переменной.
Есть некоторые h2-h4 которые начинаются со строчного символа, например:


HTML:
<h2>как банк проверяет справку</h3>
Банк проверяет справку...
<h2>можно ли купить 2 ндфл для получения ипотечного кредита</h2>
Нет, купить справку нельзя!
<h3>Альтернативы для подтверждения дохода</h3>
Альтернативы есть...
Необходимо первый символ внутри h2-h4 заменить на верхний регистр чтобы стало так:

HTML:
<h2>Как банк проверяет справку</h3>
Банк проверяет справку...
<h2>Можно ли купить 2 ндфл для получения ипотечного кредита</h2>
Нет, купить справку нельзя!
<h3>Альтернативы для подтверждения дохода</h3>
Альтернативы есть...
В идеале — один с#-сниппет который это сделает.
Но буду рад любым подсказкам. Перерыл весь форум -- ничего релевантного не нашел.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
794
Благодарностей
814
Баллы
93
project.Variables["test"].Value - переменная уровня проекта с именем test, в которой лежит твой текст

C#:
Regex r = new Regex(@"(?<=<h[2-4]>).*(?=</h[2-4]>)");
MatchCollection kol = r.Matches(project.Variables["test"].Value);

foreach(var s in kol)
{
    string str = s.ToString()[0].ToString().ToUpper();
    project.Variables["test"].Value = project.Variables["test"].Value.Replace(s.ToString(), str + s.ToString().Substring(1));
}
 
  • Спасибо
Реакции: Rimen

Rimen

Client
Регистрация
28.10.2019
Сообщения
405
Благодарностей
235
Баллы
43
project.Variables["test"].Value - переменная уровня проекта с именем test, в которой лежит твой текст

C#:
Regex r = new Regex(@"(?<=<h[2-4]>).*(?=</h[2-4]>)");
MatchCollection kol = r.Matches(project.Variables["test"].Value);

foreach(var s in kol)
{
    string str = s.ToString()[0].ToString().ToUpper();
    project.Variables["test"].Value = project.Variables["test"].Value.Replace(s.ToString(), str + s.ToString().Substring(1));
}
Спасибо, сработало!!!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)