Если вы на 100% уверены, что html будет таким, и что нет другого p
, подобного тому, который следует пропустить, вы можете использовать регулярное выражение, подобное этому:
<p class='otp'>(\d*)<\/p>
Это даст вам содержимое, если оно будет просто цифрой или пустым. Вам нужно будет получить вторую группу из матча (первая - это весь матч, включая окружающий html).
Пример:
string html = "<p class='otp'>23454</p>";
var results = Regex.Match(html, "<p class='otp'>(\\d*)<\\/p>"); // Note you need to escape the \ from the regex
string value = null;
if (results.Success && results.Groups.Count == 2)
value = results.Groups[1].Value; // This will assign 23454
Если html может быть другим, с большим количеством атрибутов, вам может понадобиться использовать html-анализатор, например HtmlDocument
.