Script 剖析及分隔字元

您可以變更特定 Script 分隔字元,並將其指派給一或多個屬性。

當您建立 Script 屬性群組時,依預設會指派單一字元的文字分隔字元。 預設分隔字元是 ";"。 代理程式使用分隔字元,來剖析及定界資料列中每一個屬性的資料。 您可以變更預設分隔字元以使用不同的字元。 您亦可以對一或多個個別屬性指派特定的分隔字元。

您可以針對個別屬性指派特定的分隔字元,以便:
  • 取用輸出中的固定位元組數
  • 以自訂分隔字元將屬性相互區隔(該分隔字元可以是多個字元)。
  • 以值的開頭字串和結尾字串來定界屬性值。
  • 傳回文字的其餘部分作為屬性值(不論是否包含內嵌的分隔字元)。
您可以使用其中一或多個分隔字元,從資料列中擷取屬性值。

範例 1 - 簡式 Script 輸出

部分 Script 可以輸出具有明確、規則分隔字元的資料列,例如:
Row One;1;2
Row Two;3;4
Row Three;5;6
此處的 ";" 字元,就是每一列上三段資料之間的明確和規則分隔字元。 在此情況下,預設分隔字元就很適合,所以不需要變更或定義其他分隔字元。 不難想像分隔字元是不同字元的類似 Script 輸出,如下列範例所示:
Row One-1-2
Row Two-3-4
Row Three-5-6
在此範例中,分隔字元從 ";" 字元變更為 "-" 字元。 在此情況下,當您定義屬性時,請變更預設分隔字元,以使用 "-" 字元。

範例 2 - 複式 Script 輸出

部分 Script 可以輸出具有不規則或變化型分隔字元的資料列,例如:
Row One;1;2;[option]Hour:MIN;fourtabby     The end;4
Row Two;3;4;[required]12:30;fourvery tabby the tail;5
Row Three;5;6;[out]March:12;fourline up    the rest of the story;6
在此範例中,可以針對屬性定義使用的分隔字元指派作業如下:
  1. 一開始,預設分隔字元 ";" 對每一個資料列的前三個屬性都非常適合。 在此情況下,當您定義每一個屬性時,您指派設定為 ";" 的分隔字元類型分隔字元文字,此設定為預設值。
  2. 對於第四個屬性,假設 "[""]" 之間的字串是您要擷取的值。 在此情況下,當您定義第四個屬性時,您指派分隔字元類型開始及結束文字,並將開始及結束文字值設為 "[""]"
  3. 對於第五個屬性,假設您要擷取 "]"":" 字元之間的值。 在此情況下,當您定義第五個屬性時,您指派設定為 ":" 的分隔字元類型分隔字元文字
  4. 對於第六個屬性,預設分隔字元 ";" 又非常適合,接受預設值。
  5. 對於第七個屬性,您會想要擷取接下來四個字元中的字串 "four"。 在此字串結尾並沒有明確的分隔字元。 您可以指派一些字元,以從下一個屬性定義區隔。 您指派分隔字元類型字元數,然後指定四個字元作為長度。
  6. 對於第八個屬性,您會想要擷取字串 tabbyvery tabbyline up。 在此情況下,您可以假設這些字串全部都後接定位點字元。 在此情況下,您指派Tab 鍵分隔字元類型的分隔字元。
  7. 對於第九個屬性,您又要再次回復為預設分隔字元類型,以擷取此屬性的其餘文字。
  8. 對於第十個屬性,您指定記錄的其餘部分,以將資料列的其餘部分指派給此屬性
下列輸出顯示如何針對輸出此範例中之前所顯示之資料列的 Script,定義這些分隔字元:
圖 1. 代理程式剖析複式 Script 輸出時的屬性值輸出範例。
代理程式剖析複式 Script 所產生的範例屬性值輸出
定義屬性分隔字元的程序在監視 Script 的輸出的步驟的步驟 10 中有所說明。