如何用imacro只提取前两个字符?

时间:2016-06-09 20:03:37

标签: imacros

所以HTML代码是:

    <span class="countdown">
    01:22
    </span>

提取文本的假象代码(01:22)是:

TAG POS=1 TYPE=SPAN ATTR=CLASS:"countdown" EXTRACT=TXT

我想只提取前两个字符而不是整个文本,在我发布的示例中,提取的TEXT将是&#34; 01&#34;而不是&#34; 01:22&#34;

1 个答案:

答案 0 :(得分:0)

您将需要使用imacro EVAL方法并使用一点javascript和regex来分解字符串并将其分配给另一个变量,以便获得前2个字符。以下是解决方案:

TAG POS=1 TYPE=SPAN ATTR=CLASS:"countdown" EXTRACT=TXT
SET !VAR1 EVAL("var x=\"{{!EXTRACT}}\"; x=x.match(/^.{2}/).join(''); x;")
PROMPT {{!VAR1}}

享受!如果这有用,请标记,谢谢!

编辑这是一个稍微好一点的方法,使用javascript split函数。这将允许您指定01的第一部分(22)或第二部分(01:22

TAG POS=1 TYPE=SPAN ATTR=CLASS:"countdown" EXTRACT=TXT
' Below line will assign the first part before colon (01) to VAR1
SET !VAR1 EVAL("var x=\"{{!EXTRACT}}\"; y=x.join(':'); y[0];")
' Below line will assign the first part before colon (01) to VAR2
SET !VAR2 EVAL("var x=\"{{!EXTRACT}}\"; x=x.join(':'); y[1];")
PROMPT {{!VAR1}}

由于最近的评论/问题,我的回答更新了答案。