【问题标题】:How to get substring with javascript code from HTML code in Java?如何从 Java 中的 HTML 代码中获取带有 javascript 代码的子字符串?
【发布时间】:2013-04-13 15:14:45
【问题描述】:

我解析一个网页,需要获取滑块元素的最小值和最大值。我用 Jsoup 解析的所有页面,但这个值我无法得到它.. 它们在 javascript 块中。

<script>
    $(function(){ $("#p_slider").slider({ range:true, step:1000, min:2000, max:49490.00, values:[2000,49490.00], slide:function(event, ui) {
    $("#p_from").val((ui.values[0] != 2000)?ui.values[0]:"");
    $("#p_to").val((ui.values[1] != 49490.00)?ui.values[1]:"");
    $("#p_from").change();
    $("#p_to").change();
} }); });
</script>
<script>
    $(function() { $("#filter_543_slider").slider({ range:true, step:1000, min:0, max:17600.000, values:[0,17600.000], slide:function(event, ui) {
                    $("#f543_from").val((ui.values[0] != 0)?ui.values[0]:"");
                    $("#f543_to").val((ui.values[1] != 17600.000)?ui.values[1]:"");
                    $("#f543_from").change();
                    $("#f543_to").change();
                } }); });
</script>

我需要获取#p_slider 和#filter_543_slider 的最小值和最大值

现在我试试这段代码:

String min = bodyHTML.split("[$(\"#"+searchingIdent+"\").slider({]")[1].split("[min:]")[1].split(",")[0];
String max = bodyHTML.split("[$(\"#"+searchingIdent+"\").slider({]")[1].split("[max:]")[1].split(",")[0];

但我发现错误:err:length=1;索引=1

而且这种分裂时间太长了.. +5-10 秒

请告诉我如何正确快速地获取所需的子字符串。

对不起我的英语。

【问题讨论】:

    标签: android string split substring


    【解决方案1】:

    我会推荐使用正则表达式。我在这里为你写了这个:

    \$\("#([a-z0-9_]+)"\)\.slider\([^\)]+min:([0-9\.]+)[^\)]+max:([0-9\.]+)
    

    这会检查一个 jquery 行,它需要一个 id(或更好的 # 符号),然后是一个滑块函数,其中参数 min 和 max 在里面。

    也试试这个fiddler 来检查我的结果。

    第一个结果是id,第二个是最小值,第三个是最大值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      相关资源
      最近更新 更多