偏移量位置开始扫描输入字符串,寻找标记,并通过标记字符串输出各个字段。


icon

输入/输出

  • cbool.png 允许空标记?(F)

    允许空标记?确定函数在遇到多个相邻分隔符时是否能识别标记。

    允许空标记?的值为FALSE(默认值),多个相邻的分隔符可以分隔输入字符串中的两个标记。如允许空标记?的值为TRUE,在每个相邻分隔符对之间都返回空的标记字符串
  • cstr.png 输入字符串

    输入字符串是要搜索标记的字符串。

  • ci32.png 偏移量

    偏移量输入字符串中开始扫描的点。

    默认值为0,字符串的起始位置。
  • c1dstr.png 运算符(无)

    运算符是字符串数组,如输入字符串包含字符串数组,即使未通过分隔符分隔,函数仍视为标记。

    输入字符串的一部分匹配多个运算符,函数可视最长的匹配为标记。例如,如>=>=定义为运算符,输入字符串4>=0将生成>=作为下一个标记字符串,偏移量1

    运算符中的字符串可能包含下列特殊格式代码,用于使整个数字作为单个标记进行扫描。

    %d匹配十进制整数
    %o匹配八进制整数
    %x匹配十六进制整数
    %b匹配二进制整数
    %e,%f,%g匹配浮点数或科学计数法实数
    %%匹配单个%字符
    注: 如定义+或-为运算符,则函数无法识别数字前的+或-符号。函数始终使其作为单个标记返回。这是“最长匹配”规则的例外情况。
  • c1dstr.png 分隔符(\s,\t,\r,\n)

    分隔符该字符串数组可作为标记分隔符。

    分隔符中的字符串不会作为标记返回,而是用于分隔相邻的标记。默认的分隔符为空格字符:空格、制表符、换行符和回车。

  • cbool.png 使用缓存中的分隔/运算数据?(F)

    使用缓存中的分隔/运算数据?是可选的高级输入端。如未连线,标记字符串仍为正常状态。

    通过使用缓存中的分隔/运算数据?可以显著改进字符串解析的性能。在标记字符串第一次执行时,应设置使用缓存中的分隔/运算数据?为FALSE,在接下来的执行中,只要运算符分隔符未改变,可设置为TRUE。使用移位寄存器并使常量FALSE作为输入,TRUE作为输出,可保证运算符分隔符在循环执行中没有改变的情况下正确运行。如使用缓存中的分隔/运算数据?的值为TRUE,并且运算符分隔符在上次执行时发生改变,可产生错误的结果。如运算符分隔符没有连线或连线至程序框图常量,则无需连线使用缓存中的分隔/运算数据?即可得到优化的性能。

  • istr.png 字符串输出

    字符串输出返回无改变的输入字符串

  • ii32.png 标记后偏移量

    标记后偏移量确定在输入字符串中的点,此类点紧随最近找到的标记和任意的分隔符

    任何对于输入字符串的后续搜索都从该偏移量开始。如偏移量小于0或大于输入字符串中的字符数,或已经到达字符串的末尾,则标记后偏移量为-1。

  • istr.png 标记字符串

    标记字符串是匹配的标记。它可以是运算符中的字符串或输入字符串中位于分隔符间的任意文本字符串。

  • ii32.png 标记索引

    标记索引标记字符串匹配运算符中的元素,则值为标记字符串运算符中的索引。

    如果 令牌字符串 是任何其他字符串, 令牌索引 返回-1。如果函数到达 输入字符串 的末尾而没有找到任何有效的运算符,则 令牌索引 返回-2。
  • 通常情况下,标记作为文本分隔符代表解析配置文件,或其他基于文本的数据格式时找到的独立的关键词、数值或运算符。通过分隔符运算符输入可指定输入函数的带标记数据。例如,空格在默认情况下为分隔符,This is a string中的每个单词都是标记,因此可使这句话解析为单词元素。

    While循环中使用该函数,一次处理一段字符,直至标记索引返回-2(表示字符串结束)。可通过移位寄存器,使标记后偏移量传递至偏移量,每次扫描从上次扫描的结束位置开始。

    默认情况下,函数找到空格、制表位、回车符或换行符时可返回标记。可使用此类或其他分隔符,或定义运算符,对字符串进行解析。

    例如,假设连线下列值至函数。

    输入
    输入字符串This is a testLabVIEWstring
    偏移量0(默认)
    运算符[NI,asdf,LabVIEW]
    分隔符\s,\t,\r,\n(默认)

    如函数在While循环中,函数可返回下列值。

    第一次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量5
    token字符串This
    标记索引–1(非运算符)

    第二次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量8
    token字符串is
    标记索引–1(非运算符)

    第三次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量10
    token字符串a
    标记索引–1(非运算符)

    第四次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量14
    token字符串test
    标记索引–1(非运算符)

    第五次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量21
    token字符串LabVIEW
    标记索引2运算符中的第二项)

    第六次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量–1(没有更多的标记)
    标记字符串string
    标记索引–1(非运算符)

    第七次循环

    字符串输出This is a testLabVIEWstring
    标记后偏移量–1(没有更多的标记)
    标记字符串(字符串结束)
    标记索引–2(字符串结束)