TextBetween - 指令碼與圖表函數
TextBetween() 會傳回輸入字串中在指定為分隔符號之字元之間出現的文字。
語法:
TextBetween(text,
delimiter1, delimiter2[, n])
傳回的資料類型: 字串
引數
text
|
原始字串。 |
delimiter1
|
指定要在 text 中搜尋的第一個分隔字元 (或字串)。 |
delimiter2
|
指定要在 text 中搜尋的第二個分隔字元 (或字串)。 |
n
|
定義要在其中進行搜尋的分隔符號配對。例如,值 2 傳回 delimiter1 第二次出現與 delimiter2 第二次出現之間的字元。 |
範例:圖表運算式
TextBetween( '<abc>', '<', '>' )
|
傳回 abc |
TextBetween( '<abc><de>', '<', '>',2 )
|
傳回 de |
TextBetween( 'abc', '<', '>' )
|
傳回 NULL
若在字串中找不到任何分隔符號,則會傳回 NULL。
|
TextBetween( '<a<b', '<', '>' )
|
傳回 NULL
若在字串中找不到任何分隔符號,則會傳回 NULL。
|
TextBetween( '<>', '<', '>' )
|
傳回零長度字串。 |
TextBetween( '<abc>', '<', '>', 2 )
|
傳回 NULL,因為 n 大於分隔符號的出現次數。
|
範例 - TextBetween 基礎事項
概述
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中稱為 InputText 的一個欄位。
載入指令碼
Example:
Load * inline [
InputText,
<abc><de>
<def><ghi><jk>
];
結果
載入資料並開啟工作表。建立新的表格並將此欄位新增為維度:
建立下列計算維度:
-
=TextBetween(InputText,'<','>'),用來計算 InputText 欄位中分隔符號 '<' 和 '>' 之間出現之字元的第一個執行個體。
-
=TextBetween(InputText,'<','>',2),用來計算 InputText 欄位中分隔符號 '<' 和 '>' 之間出現之字元的第二個執行個體。
Results table
InputText |
TextBetween(InputText,'<','>') |
TextBetween(InputText,'<','>',2) |
<abc><de> |
abc |
de |
<def><ghi><jkl> |
def |
ghi |
在第一個計算維度中,TextBetween 函數的輸出會傳回分隔符號 '<' 和 '>' 之間出現之字元的第一個執行個體。例如,第 1 列傳回 abc。第二個計算維度有 2 的 n 引數,因此輸出會傳回分隔符號 '<' 和 '>' 之間出現之字元的第二個執行個體。例如,第 1 列傳回 de。
以下程式碼顯示如何在載入指令碼中使用該函數。
Load *,
textbetween(Text,'<','>') as TextBetween,
textbetween(Text,'<','>',2) as SecondTextBetween;
Load * inline [
Text
<abc><de>
<def><ghi><jkl>];
結果表格
文字 |
TextBetween |
SecondTextBetween |
<abc><de> |
abc |
de |
<def><ghi><jkl> | def | ghi |
範例 - TextBetween 使用情境
概述
資料集包含具有電子郵件地址的資料表格。此範例使用 TextBetween 函數從地址中擷取第二層級網域。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
載入指令碼
Example:
Load * inline [
UserID, EmailAddress
1, alice@example.com
2, bob@sample.org
3, charlie@domain.net
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列計算維度:
Results table
UserID |
EmailAddress |
TextBetween(EmailAddress,'@', '.') |
1 |
alice@example.com |
example |
2 |
bob@sample.org |
sample |
3 |
charlie@domain.net |
domain |
TextBetween 函數的輸出搜尋指定分隔符號 '@' 和 '.'之間的內容,以傳回每個使用者 ID 的第二層級網域。