У меня проблемы с извлечением определенного значения из большой строки, возвращаемой из httpwebresponse.Ответ меняется каждый раз, когда сайт меняется, но мне нужно извлечь одно число из источника.Вот фрагмент ответа, и мне нужно извлечь «9», хотя это может быть разное число каждый раз.
Это просто фрагменты, источник на этот раз длиной 1300 строк.Это может быть в три раза больше, чем в следующий раз, и число в другом месте.Единственная константа состоит в том, что она появляется за пределами всех тегов HTML.
</div>
<div id="inhoud_content_rechts">
<div id="taalkeuze"><a href="index.php" class="taalkeuze_link_actief">EN</a> | <a href="nl/index.php" class="taalkeuze_link">NL</a> | <a href="fr/index.php" class="taalkeuze_link">FR</a> | <a href="es/index.php" class="taalkeuze_link">ES</a></div>
<div id="print_page"><a href="javascript:window.print();" class="taalkeuze_link">â┼' print this page</a></div> <h1 class="titel">NEWS</h1>
<br />
<h1 class="nieuws_titel">12 | 4</h1>
9
<br /><br />
<a href="news.php" class="content_link">Back to overview â┼'</a>
<br /><br />
</div>
</div>
</div>
Я не могу использовать сопоставление с регулярным выражением, поскольку источник меняется каждый раз, единственный уникальный идентификатор, который я могу придумать, заключается в том, что строка находится за пределами HTMLХотя так несколько вещей.Я попытался удалить все теги HTML с помощью
System.Text.RegularExpressions.Regex regexHTML = new System.Text.RegularExpressions.Regex("<[^>]*>");
text = regexHTML.Replace(text, "");
, хотя это приводит к значительному сокращению текста, но текст по-прежнему остается, например
EN | NL | FR | ES
â┼' print this page NEWS
12 | 4
9
Back to overview â┼'
. Я также попробовал несколько других вещей.:
- Преобразование всего HTML в «@», добавление каждой строки в список и пропуск строк, которые не содержат «@» - вероятно, самая успешная попытка, но строка, содержащая только число, былаЯ не пытался это сделать, я пытался удалить все пробелы и использовал isDigit / isNumber, но он возвращает false.
- Преобразование всей строки в char и циклическое перемещение по каждой строке для поиска isDigit - та же проблема, что и выше
У кого-нибудь есть идеи, как я мог бы написать что-нибудь, что позволит извлечь нужное мне число?Я подумал, что, возможно, после удаления всего HTML-кода я смог проверить, содержит ли строка ТОЛЬКО один тип int, но не увенчался успехом с isDigit, isNumber & int.parse.Вот отредактированные строки предыдущих попыток, если они полезны.Преобразование HTML в "@" и удаление всех HTML
"@" Редактировать:
@@@@@@@@@@@@â┼' print this page@@@@@@@@@@@@ @@@@@@NEWS@@@@@@
@@@@@@
@@@@@@12 | 4@@@@@@
9
@@@@@@@@@@@@
@@@@@@Back to overview â┼'@@@@@@
@@@@@@@@@@@@
@@@@@@
@@@@@@
Удаление всего HTML:
EN | NL | FR | ES
â┼' print this page NEWS
12 | 4
9
Back to overview â┼'
TL: DR: Извлечь числокоторый всегда появлялся за пределами HTML без других идентификаторов, он был отдельной строкой.