只需使用数组中的第二项

时间:2014-05-05 18:18:19

标签: javascript imacros

在imacros中,我需要将剪贴板中的一段文本分成两部分,然后使用第二部分。 这就是我已经拥有的:

SET !VAR1 EVAL("var s=\"{{!CLIPBOARD}}\"; s.split(\"(B)\",1); var r = s[1];r ")
PROMPT {{!VAR1}}

如果我插入: " Abcde(B)FGHIJ" 我期待的是" FGHIJ"作为数组中的第二项 但我得到的是" b"作为第二个字母。

我如何获得第二项?

如果您需要,请点击整个宏:

VERSION BUILD=8810214 RECORDER=FX
TAB T=1
TAG POS=1 TYPE=A ATTR=TXT:Neue<SP>Frage...<SP>
PROMPT "Kopiere die neue Frage!"
SET !VAR1 EVAL("var s=\"{{!CLIPBOARD}}\"; s.split(\"(B)\",1); var r = s[1];r ")
PROMPT {{!VAR1}}
TAG POS={{!LOOP}} TYPE=TEXTAREA ATTR=ID:question CONTENT={{!VAR1}}
TAG POS={{!LOOP}} TYPE=INPUT:TEXT ATTR=ID:answer1 CONTENT={{!VAR1}}
TAG POS={{!LOOP}} TYPE=INPUT:TEXT ATTR=ID:answer2 CONTENT=test
TAG POS={{!LOOP}} TYPE=INPUT:TEXT ATTR=ID:answer3 CONTENT=test   
TAG POS={{!LOOP}} TYPE=INPUT:TEXT ATTR=ID:answer4 CONTENT=dd
TAG POS={{!LOOP}} TYPE=INPUT:TEXT ATTR=ID:answer5 CONTENT=dd

1 个答案:

答案 0 :(得分:0)

SET行更改为:

SET !VAR1 EVAL("var s=\"{{!CLIPBOARD}}\"; s = s.split(\"(B)\"); var r = s[1];r ")

split不会修改调用它的字符串。此外,我删除了您传递给1方法的split限制,因为这将使它仅返回由拆分创建的结果数组的第一个索引。在您的示例中,它将返回[Abcde ],而不是[Abcde , FGHIJ]

查看有关split方法的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split