オフセットで始まる入力文字列をスキャンしてトークンを検索し、各セグメントをトークン文字列として出力します。


icon

入力/出力

  • cbool.png 空トークンを許可? (F)

    空トークンを許可?は、トークンが複数の隣接するデリミタを検出する場合、関数がトークンを認識しているかどうかを決定します。

    空トークンを許可?がFALSE (デフォルト) の場合、複数の隣接したデリミタによって入力文字列内の2つの有効な演算子を区切ることができます。空トークンを許可?がTRUEの場合は、隣接したデリミタの各ペアの間に空のトークン文字列が返されます。デフォルトはFALSEです。
  • cstr.png 入力文字列

    入力文字列は、トークンに対してスキャンする文字列です。

  • ci32.png オフセット

    オフセットは、読み取りを開始する入力文字列内の開始位置です。

    デフォルト値は、文字列の先頭を指定する0です。
  • c1dstr.png 演算子 (なし)

    演算子は文字列の配列です。この文字列の配列は、デリミタが前後にない場合でも、入力文字列に表示されると、関数はトークンとして識別します。

    入力文字列の一部分が複数の定義された演算子に一致する場合、関数は、最も長い一致をトークンとして選択します。たとえば、>=および>=が定義された演算子である場合、入力文字列4>=0は、オフセット1の次のトークン文字として>=を作成します。

    演算子内の文字列には、すべての数を単一のトークンとしてスキャンするのに使用できる、以下の特殊な形式コードが含まれている場合があります。

    %d10進数整数と一致
    %o8進数整数と一致
    %x16進数整数と一致
    %b2進数整数と一致
    %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という各単語部分がトークンになり、センテンスを構成する単語に解析できます。

    この関数は、トークン指標が-2 (文字列の最後を示す) を返すまで、文字列を一度に一部分ごとに処理するWhileループで使用します。各スキャン操作が前回のスキャンの終了点から開始するようにシフトレジスタを介してトークン後のオフセットオフセットに渡すことができます。

    デフォルトでは、関数はスペース、タブ、復帰文字、または改行文字をトークンとして識別して返します。これらを使用するか、任意のデリミタを使用して文字列を解析するか、または演算子を定義できます。

    たとえば、以下の値を関数に配線したとします。

    入力
    入力文字列This is a testLabVIEWstring
    オフセット0 (デフォルト)
    演算子[NI,asdf,LabVIEW]
    区切り文字\s,\t,\r,\n (デフォルト)

    関数をWhileループの内側に配置すると、関数は以下の値を返します。

    最初の反復

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット5
    トークン文字列This
    トークン指標-1 (演算子ではない)

    2回目の反復

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット8
    トークン文字列is
    トークン指標-1 (演算子ではない)

    3回目の反復

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット10
    トークン文字列a
    トークン指標-1 (演算子ではない)

    4回目の反復

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット14
    トークン文字列テスト
    トークン指標-1 (演算子ではない)

    5回目の反復

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット21
    トークン文字列LabVIEW
    トークン指標2 (演算子内の2つ目の項目)

    6回目の反復

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット-1 (これ以上トークンが存在しない)
    トークン文字列文字列
    トークン指標-1 (演算子ではない)

    7回目の演算子

    文字列出力This is a testLabVIEWstring
    トークン後のオフセット-1 (これ以上トークンが存在しない)
    トークン文字列(文字列の終わり)
    トークン指標-2 (文字列の終わり)