【问题标题】:How to extract values in quote marks from HTML string?如何从 HTML 字符串中提取引号中的值?
【发布时间】:2018-12-10 19:51:17
【问题描述】:

我有以下从网页检索到的 sn-p 代码:

<li class="player" data-id="168568" data-teamid="156" data-x="142.33" data-y="297.16040000000004" data-name="Corentin Tolisso" data-position="3">Corentin Tolisso<span class="shirt">24</span></li>

我的目标是提取“Corentin Tolisso”、球衣号码“24”以及 data-x 和 data-y 的值。

到目前为止,我能够使用 HTML Agility Pack 使其与 &gt;...&lt; 内的值一起工作。

但是我找不到提取 data-x 和 data-y 数量的方法。

我已将 HTML 字符串复制到一个新的 jsfiddle 中,它准确地列出了我的 C# 代码得到的内容,&gt;...&lt; 之间的内容。

如何提取 data-x 和 data-y 的值?

注意:使用String.IndexOf 可以正常工作,但它会失去灵活性。这是我的后备策略。

注意 2:我查看了 herehere,这两个都给了我一些想法,但我仍然很难将它应用到 C#。

【问题讨论】:

标签: javascript c# html web-scraping html-agility-pack


【解决方案1】:

一种方法是使用(["'])(?:(?=(\\?))\2.)*?\1 它也支持嵌套引号

试试这个链接: https://regex101.com/r/cB0kB8/1

使用 JQuery 让它变得非常简单。

还可以查看此处的示例:Getting value of HTML text input

<form name="input" action="handle_email.php" method="post">
Email: <input type="text" name="email" />
<input type="submit" value="Newsletter" />
</form> 
<a id="regLink" href="http://mywebsite.com/register?user_email=">Register</a>

$('input[name="email"]').change(function(){
alert($('#regLink').attr('href')+$('input[name="email"]').val());
});

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2021-12-09
    • 2022-12-18
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    相关资源
    最近更新 更多