TextBetween - スクリプトおよびチャート関数
TextBetween() は、区切り文字として指定された文字間で行われる入力文字列でのテキストを返します。
構文:
TextBetween(text,
delimiter1, delimiter2[, n])
戻り値データ型: 文字列
引数
text
|
元の文字列。 |
delimiter1
|
text で検索する最初の区切り文字 (または文字列) を指定します。 |
delimiter2
|
text で検索する 2 番目の区切り文字 (または文字列) を指定します。 |
n
|
検索する区切り文字のペアのうち、出現する区切り文字を定義します。たとえば、2 という値は、delimiter1 が 2 回目に現れてから、delimiter2 が 2 回目に現れるまでの文字を返します。 |
例: チャートの数式
TextBetween( '<abc>', '<', '>' )
|
abc を返します |
TextBetween( '<abc><de>', '<', '>',2 )
|
de を返します |
TextBetween( 'abc', '<', '>' )
|
NULL を返します
文字列に区切り文字が見つからない場合、NULLが返されます。
|
TextBetween( '<a<b', '<', '>' )
|
NULL を返します
文字列に区切り文字が見つからない場合、NULLが返されます。
|
TextBetween( '<>', '<', '>' )
|
長さゼロの文字列を返します。 |
TextBetween( '<abc>', '<', '>', 2 )
|
n は区切り文字の出現回数よりも大きいため、NULL を返します。
|
例 - TextBetween の基本
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
InputText,
<abc><de>
<def><ghi><jk>
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次の計算軸を作成します。
-
=TextBetween(InputText,'<','>')、InputText 項目の区切り文字 '<' と '>' の間に現れる文字の最初のインスタンスを計算します。
-
=TextBetween(InputText,'<','>',2)、InputText 項目の区切り文字 '<' と '>' の間に現れる文字の 2 番目のインスタンスを計算します。
Results table
InputText |
TextBetween(InputText,'<','>') |
TextBetween(InputText,'<','>',2) |
<abc><de> |
abc |
de |
<def><ghi><jkl> |
def |
ghi |
最初の計算軸では、TextBetween 関数の出力が、区切り文字 '<' と '>' の間に現れる文字の最初のインスタンスを返します。例えば、1 行目は abc を返します。2 番目の計算軸では、2 の n 引数があるため、区切り文字 '<' と '>' の間に現れる文字の 2 番目のインスタンスを返します。例えば、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 関数を使用して、アドレスから第 2 レベル ドメインを抽出しています。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
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 の第 2 レベル ドメインを返します。