Skip to main content

ワークフロー文字列関数

文字列関数は、テキストデータに対して操作を実行します。文字列関数を使用して、データのクレンジング、データを別の形式や大文字小文字への変換、またはデータに関するメトリックを計算したり、他の操作を実行したりできます。文字列関数は、文字列データ型でのみ使用できます。

Contains

Contains(String, Target, CaseInsensitive=1): 文字列内の特定の文字列を検索します。文字列 (String) にターゲット (Target) が含まれている場合は True、それ以外は False を返します。

Contains('123ABC', 'ABC') は、Trueを返します。

Contains('123ABC', 'abc') は、Trueを返します。

Contains('123ABC', 'abc', 0) は、Falseを返します。

CountWords

CountWords(string): 指定した文字列内の単語数を返します。単語はスペースで区切られた文字で定義されます。

注記

この関数は、DatabricksのLive Queryでは使用できません。

CountWords("Basic Variables Households")3を返します。

CountWords("Basic Variables Age:Female (Pop)Age 1") は、5を返します。

EndsWith

EndsWith(String, Target, CaseInsensitive=1): 文字列が特定の文字列で終わるかどうかをチェックします。文字列 (String) がターゲット (Target) で終わる場合は True、それ以外は False を返します。既定では大文字と小文字は区別されません。

EndsWith('123ABC', 'ABC')Trueを返します。

EndsWith('123ABC', 'abc')Trueを返します。

EndsWith('123ABC', 'abc', 0)Falseを返します。

FindNth

FindNth(Initial String, Target, Instance): 初期文字列内のターゲット文字列のインスタンス(n回目の出現)を検索し、インスタンスの0インデックスの位置を返します。この関数では大文字と小文字が区別され、負のパラメーターは受け入れられません。

重要

クラウドネイティブモードでは、ターゲットとインスタンスは静的リテラル値である必要があります。

FindNth("Hello World","o",2)は、7を返します。この関数は、指定された文字列から"o"の2番目のインスタンスを検索し、0インデックスの位置(この場合は7)を返します。

FindNth("Hello World","World",1)は、6を返します。この関数は、指定された文字列から"World"の最初のインスタンスを検索し、最初の文字の0インデックスの位置(この場合は6)を返します。

FindNth("Hello World","o",1.8)は、7を返します。この関数は、指定された文字列から"o"の2番目のインスタンス(1.8を最も近い整数に丸めたもの)を検索し、2番目の文字の0インデックスの位置(この場合は7)を返します。

FindNth("Hello World","world",1)は、-1を返します。この関数は、指定された文字列から"world"の最初のインスタンスを検索し、最初の文字の0インデックスの位置を返します。この場合は、-1です(大文字と小文字の区別のため、一致は見つかりません)。

FindNth("Hello World","l",0)は、-1を返します。この関数は、指定された文字列から"l"の0番目のインスタンスを検索し、0インデックスの位置を返します。この場合は-1です(0番目の位置が存在しないため見つかりません)。

FindNth("Hello World","l",-1)は、-1を返します。負のパラメーターは適用できないため、関数は-1 (見つかりません)を返します。

FindNth("Hello World", Null(), 1)は、-1を返します。Nullと空は見つかりません。

FindNth(Hello world, "l", 1)エラーを返します。この関数では、最初の2つのパラメーターが文字列である必要があります。

FindString

FindString 関数は大文字小文字を区別します。

FindString(String,Target): 文字列 (String) 内の特定の文字列 (Target) を検索し、文字列内での出現位置を返します。

文字列 (String) 内の ターゲット (Target) で最初に生成された 0 から始まるインデックスを返します。出現がない場合は -1 を返します。

FindString([Name], "John") : 文字列がJohnから始まる場合は 0 を返し、文字列がJohnから始まらない場合は -1 を返します。

IF (FINDSTRING([Name], "John") =0) THEN "John Smith" ELSE "Other" ENDIFは、文字列にJohnが含まれている場合はJohn Smithを返し、文字列にJohnが含まれていない場合はOtherを返します。

GetLeft

GetLeft(String, Delimiter)指定した1つ以上の区切り記号の最初のインスタンスまで、指定した文字列の左側の部分を返します。クラウドネイティブモードでは、区切り文字は静的リテラル値である必要があります。

注記

Delimiter演算子では、大文字と小文字が区別されます。区切り記号として"a"を指定すると、この関数では区切り記号として"a"のみが使用され、"A"は使用されません。

GetLeft("Automated Analytics for All", " ") "Automated"を返します。

GetLeft("Enable fast, confident decisions across the enterprise.", ",") "Enable fast"を返します。

GetPart

GetPart(String, Delimiter, Index)指定した1つ以上の区切り記号を使用して文字列を部分文字列に分割し、インデックスで指定した位置に部分文字列を返します。クラウドネイティブモードでは、区切り文字は静的リテラル値である必要があります。

この関数では0から始まるインデックスが使用されます。たとえば、インデックスが2の場合、この関数はインデックス2の3番目の部分文字列の位置から文字列を返します。

注記

Delimiter演算子では、大文字と小文字が区別されます。区切り記号として"a"を指定すると、この関数では区切り記号として"a"のみが使用され、"A"は使用されません。

GetPart("Automated Analytics for All", " ", 1) "Analytics"を返します。

GetPart("Automated Analytics for All", " ", 0) "Automated"を返します。

GetPart("Enable fast, confident decisions across the enterprise.", ", ", 5) "Across"を返します。この例では、カンマとスペースという2つの区切り記号を使用しています。この関数では、どちらかの区切り記号が検出されると、文字列が分割されます。

GetPart("January 1, 2023", " ", 2) "2023"を返します。

GetRight

GetRight(String, Delimiter)指定した1つ以上の区切り記号の最初のインスタンスより後の指定した文字列の右側の部分を返します。クラウドネイティブモードでは、区切り文字は静的リテラル値である必要があります。

注記

Delimiter演算子では、大文字と小文字が区別されます。区切り記号として"a"を指定すると、この関数では区切り記号として"a"のみが使用され、"A"は使用されません。

GetRight("Automated Analytics for All", " ")"Analytics for All"を返します。

GetRight("Enable fast, confident decisions across the enterprise.", ",") :" confident decisions across the enterprise."を返します。(confidentの前のスペースが返り値に含まれている点に注意してください)。

GetWord

GetWord(string, n): 文字列内の N 番目 (0 ベース) の単語を返します。単語はスペースで区切られた文字の集合として定義されます。0 ベースインデックスとは、最初の単語が 0 の位置 (0から始まる) にあるという意味です。

GetWord("Basic Variables Households", 0)"Basic"を返します。

GetWord("Basic Variables Households", 1)"Variables"を返します。

Left

Left(String, len): 文字列 (String) の最初の [len] 文字を返します。len が 0 より小さいか文字列の長さより大きい場合、指定した文字列は変更されずにそのまま返されます。

Left("92688", 3) は、926の値を返します。

Length

Length(String): 文字列 (String) の長さを返します。

Length("92688") は、5の値を返します。

LowerCase

LowerCase(String): 文字列を小文字に変換します。

LowerCase("M1P 1G6")"m1p 1g6"を返します。

PadLeft

PadLeft(String, len, char): 文字列の左側を指定した文字で埋めて、指定した長さに揃えます。パディング文字(char)の長さが2文字以上の場合、最初の文字のみが使用されます。

PadLeft("M", 4, "x")"xxxM"を返します。

PadRight

PadRight(String, len, char): 文字列を指定した文字で、指定した長さまで右に埋め込みます。パディング文字(char)の長さが2文字以上の場合、最初の文字のみが使用されます。

PadRight("M", 4, "x")"Mxxx"を返します。

REGEX_CountMatches

REGEX_CountMatches(String,pattern,icase): 文字列内でパターンに一致した回数を返します。

icase はオプションのパラメーターです。指定すると、一致を判別するときに大文字と小文字を区別します。既定のicase=1は大文字小文字の無視を意味します。0に設定すると、大文字と小文字が一致する必要があります。

注記

この関数は、DatabricksのLive Queryでは使用できません。

REGEX_Match

REGEX_Match(String,pattern,icase): 正規表現に一致する文字列を検索します。

文字列が最初の文字から最後までのパターンと一致するかどうかを示します。

  • 文字列の先頭から必ずしも始まらないものを探すには、パターンを '.*' で始めます。

  • 文字列の最後まで必ずしも行くとは限らないものを探すには、パターンを '.*' で終わらせます。

正規表現を正しく構築する方法の詳細な情報については、ブースト正規表現のPerl正規表現構文 ページを参照してください。

icase はオプションのパラメーターです。指定されると、大文字と小文字は一致する必要があります。既定で、icase=1 は大文字小文字の無視を意味します。0に設定すると、大文字と小文字が一致する必要があります。

注記

この関数は、DatabricksのLive Queryでは使用できません。

REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}")-1 (True)を返します。

REGEX_Replace

REGEX_Replace(String, pattern, replace, icase): 正規表現検索パターンから得られた文字列を返し、文字列を置き換えます。

置換 (replace) のパラメーターは、以下に示すような指定された値、または「$1」などのマークされたグループのいずれかです。マークされたグループが二重引用符で囲まれていることを確認します。

icase はオプションのパラメーターです。指定されると、大文字と小文字は一致する必要があります。

  • 既定では icase=1 で、大文字小文字の無視を意味します。

  • 0に設定すると、大文字と小文字が一致する必要があります。

注記

この関数は、DatabricksのLive Queryでは使用できません。

REGEX_Replace("Don't reveal your Social Security number, 123-45-6789","\d{3}-\d{2}-\d{4}", "CLASSIFIED") "あなたの社会保障番号、CLASSIFIEDを明らかにすることはありません"を返します。

REGEX_Replace("Change all domain names from alteryx@Alteryx.com","@.*\.", "@extendthereach.") ”alteryx@extendthereach.comからすべてのドメイン名を変更します”を返します。

REGEX_Replace("25 test","(\d+)\s.*","$1")は25を返します。

Replace

Replace(String, Target, Replacement): 文字列 (Target) の各出現箇所を文字列 (Replacement) で置き換えた後の文字列 (String) を返します。

Replace("Good judgment comes from experience", "experience", "awareness") は、「Good judgement comes from awareness」を返します。

ReplaceChar

ReplaceChar(String, y, z): 文字(y)を見つけるたびに文字(z)で置き換えた後の文字列(String)を返します。置換文字(z)が複数の文字を含む文字列である場合、最初の文字のみが使用されます。文字 (z) が空の場合、文字 (y) の任意の文字に一致する各文字 (String) は、削除されます。

ReplaceChar("abcdefb", "b", "_")"a_cdef_"を返します。

ReplaceChar("@a#b%c", "@,#,%", "_")"_a_b_c"を返します。

ReplaceFirst

ReplaceFirst(String, Target, Replacement): 最初に出現した文字列 (Target) を文字列 (Replacement) で置き換えた後の文字列 (String) を返します。

ReplaceFirst("abcdefb", "b", "_")"a_cdefb"を返します。

ReverseString

ReverseString(String): 文字列のすべての文字の順番を反転します。

注記

この関数は、DatabricksのLive Queryでは使用できません。

ReverseString("abcdefb") "bfedcba"を返します。

Right

Right(String, len): 文字列の最後の (len) 文字を返します。len が 0 より小さいか文字列の長さより大きい場合、文字列は変更されないままです。

Right("92688", 3) は、688の値を返します。

StartsWith

StartsWith(String, Target, CaseInsensitive=1): 文字列が特定の文字列で始まるかどうかを検索します。文字列 (String) が特定の文字列 (Target) で始まる場合は True、それ以外は False を返します。

StartsWith('ABC123', 'ABC') : Trueを返します。

StartsWith('ABC123', 'abc') : Trueを返します。

StartsWith('ABC123', 'abc', 0) : Falseを返します。

STRCSPN

STRCSPN(String, y): 文字列(String)内で、文字列(y)に含まれる文字以外の文字で構成される最初のセグメントの長さを返します。

STRCSPN("Bob's Amaco", "~!@#$%^&*'()")は、3を返します。これは、文字列に句読点がないことを確認するのに便利なテストです。

StripQuotes

StripQuotes(String): 文字列の終わりから引用符またはアポストロフィーの一致したセットを削除します。

  • StripQuotes("Hello there") "Hello"を返します

  • StripQuotes("'Hello there,' she said.") "'Hello there,' she said"を返します。

  • StripQuotes('"Hello there," she said.') ""Hello there," she said"を返します。

STRSPN

STRSPN(String, y): 文字列(y)内に含まれる文字で構成される文字列(String)の最初のセグメントの長さを返します。

STRSPN("3034408896x105", "0123456789") は、10を返します。これは、文字列が一連の文字で構成されていることを確認するのに便利なテストです。

Substring

Substring(String, start, length): (Start) で始まり、(length) で終了する部分文字列を返します (指定されている場合)。

Substring("949-222-4356", 4, 8) は、「222-4356」を返します。

Substring("949-222-4356", 4, 6) は、「222-43」を返します。

Substring("949-222-4356", 4) は、「222-4356」を返します。

TitleCase

TitleCase(String): 文字列をタイトルケースに変換します。

TitleCase("john smith")"John Smith"を返します。

Trim

Trim(String, y): 文字列 (y) 内の文字を文字列 (String) の終わりから削除します。yはオプションで、既定では空白類をトリミングします。TRIM 関数の例では、指定された文字がトリミングされることに注意してください。文字の順序は関係ありません。

Trim("!see instructions!!!", "!") は、「see instructions」を返します。

Trim(" Test123 ") は、「Test123」を返します。

TrimLeft

TrimLeft(String, y): 文字列 (y) の文字を文字列 (String) の先頭から削除します。yはオプションで、既定では空白類をトリミングします。

TrimLeft("** special invitation ", " *") "special invitation "を返します。

TrimRight

TrimRight(String, y): 文字列 (y) の文字を文字列 (String) の末尾から削除します。yはオプションで、既定では空白類をトリミングします。

TrimRight("John Smith ")"John Smith"を返します。

TrimRight("John Smith**","*")"John Smith"を返します。

トリミングする文字列を渡しているかもしれませんが、TRIM関数は文字の順序を尊重せず、文字列を「リスト」として扱います。従って、リスト内のすべての文字がトリミングされます。文字列を置換する場合は、式でReplace関数またはREGEX関数を使用します。

Uppercase

Uppercase(String): 文字列を大文字に変換します。

Uppercase("John Smith") は、「JOHN SMITH」を返します。