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

how to extract only first two characters with imacro?

所以 HTML 代码是:

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

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

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

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

您将需要使用 imacro EVAL 方法并使用一点点 javascript 和正则表达式来分解字符串并将其分配给另一个变量,以便您获得前 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分割函数。这将允许您指定 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}}

由于最近 comment/question 我的回答更新了答案。