文字列関数
文字列関数は、テキストデータに対して操作を実行します。文字列関数を使用してデータをクレンジングしたり、データを別の形式または大文字に変換したり、データに関するメトリックを計算したり、その他さまざまな操作を実行できます。文字列関数は、文字列データ型でのみ使用できます。
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)
: 指定した文字列内の単語数を返します。単語はスペースで区切られた文字で定義されます。
例
CountWords("Basic Variables Households")
は、3 を返します。
CountWords("Basic Variables Age:Female (Pop)Age 1")
は、5 を返します。
DecomposeUnicodeForMatch
DecomposeUnicodeForMatch(String)
: アクセントを削除し、ナロー (半角英数) 文字列に変換すると同時に複合文字を展開します。この関数は、Alteryx WString データ型を取り、小文字のナロー (半角英数) 文字列の String データ型に変換します。すべてのアクセントやその他の装飾は削除されます。Alteryx データ型の詳細については、データ型 を参照してください。
この関数はマッチングのみに役立ちます。正規化された文字列とは見なされません。
この関数は、欧米以外の文字セット (たとえば日本語) には対応していません。この関数は、ワイド (全角) 文字を含む文字列では使用しないでください。ワイド (全角) 文字は「?」に変換されます。
例
DecomposeUnicodeForMatch("Prénoms français")
は、prenoms francais を返します。
EndsWith
EndsWith(String, Target, CaseInsensitive=1)
: 文字列が特定の文字列で終わるどうかを確認します。文字列 (String) がターゲット (Target) で終わる場合は True、それ以外は False を返します。既定では大文字と小文字は区別されません。
例
EndsWith('123ABC', 'ABC')
は、True を返します。
EndsWith('123ABC', 'abc')
は、True を返します。
EndsWith('123ABC', 'abc', 0)
は、False を返します。
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 を返します。
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" を返します。
MD5_ASCII
MD5_ASCII(String)
: 文字列の MD5 ハッシュを計算します。文字列は、ナロー (半角英数) 文字のみであることが求められます。ワイド (全角) 文字は、ハッシュを計算する前に「?」に変換されます。String 型に使用します。WString 型には使用しないでください。この関数は、ワイド (全角) 文字を含む可能性のある文字列には使用しないでください。
MD5_UNICODE
MD5_UNICODE(String)
: 元のエンジンと AMP の両方に対して、UTF-16 として保存されている文字列の MD5 ハッシュを計算します。
MD5_UTF8
MD5_UTF8(String)
: UTF-8 として保存されている文字列の MD5 ハッシュを計算します。
例
Md5_Ascii(‘Lá’)
は Latin1 として保存され、2 バイトの 4C E1 を取ります。この関数はバイトの MD5 を計算し、結果として "0c0ee86cc87d87125ad8923562be952e " を返します。
Md5_Ascii(‘Lá ’)
は、ワイド (全角) 文字が「?」に置換されるため、Md5_Ascii(“Lá?”) を計算したことになります。これは Latin1 として保存され、3 バイトの 4C E1 3F を取ります。この関数はバイトの MD5 を計算し、結果として “a5a308ab19acf900efea8fc7b5b77b4d” を返します。
Md5_Unicode(‘Lá’)
は UTF-16 として保存され、4 バイトの 4C 00 E1 00 を取ります。この関数はバイトの MD5 を計算し、結果として "aa9969dfcca04249842cc457e5b3dd01" を返します。
Md5_Unicode(‘Lá ”)
が UTF-16 として保存される場合は、8 バイトの 4C 00 E1 00 3C D8 C8 DF を取ります。この関数はバイトの MD5 を計算し、結果として “7c4762d93572dd02a8a405232e966b18” を返します。
Md5_Utf8(‘Lá’)
は UTF-8 として保存され、3 バイトの 4C C3 A1 を取ります。この関数はバイトの MD5 を計算し、結果として "68f00289dc3be140b1dfd4e031d733f1" を返します。
Md5_Utf8(‘Lá ”)
が UTF-8 として保存される場合は、7 バイトの 4C C3 A1 F0 9F 8F 88 を取ります。この関数はバイトの MD5 を計算し、結果として “383fc0355db728a2078ce41a2ab6211b” を返します。
PadLeft
PadLeft (String, len, char)
: 指定した文字で、指定した長さまで文字列の左側をパディングします。埋め込む文字が 2 文字以上の長さの場合、最初の文字のみが使用されます。
例
PadLeft("M", 4, "x")
は、"xxxM" を返します。
PadRight
PadRight (String, len, char)
: 指定した文字で、指定した長さまで文字列の右側をパディングします。埋め込む文字が 2 文字以上の長さの場合、最初の文字のみが使用されます。
例
PadRight("M", 4, "x")
は、"Mxxx" を返します。
REGEX_CountMatches
REGEX_CountMatches(String,pattern,icase)
: 文字列内でパターンに一致した数を返します。
icase
はオプションのパラメーターです。指定されると、大文字と小文字は一致する必要があります。既定で、icase=1 は大文字小文字の無視を意味します。0に設定すると、大文字と小文字が一致する必要があります。
REGEX_Match
REGEX_Match(String,pattern,icase)
: 正規表現に一致する文字列を検索します。
文字列が最初の文字から最後までのパターンと一致するかどうかを示します。
- 文字列の先頭から必ずしも始まらないものを探すには、パターンを '.*' で始めます。
- 文字列の最後まで必ずしも行くとは限らないものを探すには、パターンを '.*' で終わらせます。
icase
はオプションのパラメーターです。指定されると、大文字と小文字は一致する必要があります。既定で、icase=1 は大文字小文字の無視を意味します。0に設定すると、大文字と小文字が一致する必要があります。
例
REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}")
は、-1 (True) を返します。
REGEX_Replace
REGEX_Replace(String, pattern, replace, icase)
: 正規表現を使用したテキストの置換を許可し、RegEx 検索 (pattern) と置換 (string) による結果の文字列を返します。最初の一致だけでなく、一致したすべての出現が置き換えられます。
置換 (replace) パラメーターは、以下に示すような指定された値、または「$1」などのマークされたグループのいずれかです。
icase
はオプションのパラメーターです。指定されると、大文字と小文字は一致する必要があります。既定で、icase=1 は大文字小文字の無視を意味します。0に設定すると、大文字と小文字が一致する必要があります。
例
REGEX_Replace("Don't reveal your Social Security number, 123-45-6789","\d{3}-\d{2}-\d{4}", "CLASSIFIED")
は、Don't reveal your Social Security number, CLASSIFIED を返します。
REGEX_Replace("Change all domain names from alteryx@Alteryx.com","@.*\.", "@extendthereach.")
は、Change all domain names from alteryx@extendthereach.com を返します。
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)
: 文字列内のすべての文字の順番を反転します。
例
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)
: 文字列 (y) 内に 含まれない 文字で構成される文字列 (String) の最初のセグメントの長さを返します。
例
STRCSPN("Bob's Amaco", "~!@#$%^&*'()")
は、3 を返します。 これは、文字列に句読点がないことを確認するのに便利なテストです。
StripQuotes
StripQuotes(String)
: 文字列の末尾から見つかった一連の引用符またはアポストロフィを削除します。
例
StripQuotes("Hello there")
は、Hello there を返します。
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)
: 文字列 (String) 内の、開始位置 (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 関数は文字の順序を考慮しません。文字列を "list" として扱うため、リスト内のすべての文字がトリミングされます。文字列を置換する場合は、式で Replace 関数または REGEX 関数を使用します。
Uppercase
Uppercase(String)
: 文字列をすべて大文字に変換します。
例
Uppercase("John Smith")
は、"JOHN SMITH" を返します。
Uuid
UuidCreate()
: 固有識別子を作成します。
例
UuidCreate()
は、ba131836-1ba3-4d42-8f7e-b81a99c2e838 などの一意の値を返します。
長さと文字列について
文字列の 長さ を参照するとき、最初の文字は 1 とカウントされます (すなわち、文字列 「record」の長さは6です)。
ただし、文字列内の文字の位置を参照する場合、実際には 文字間 の位置がカウントされます。したがって、最初の文字の位置を 0 と考えてください。たとえば、文字列「record」内の文字「c」の位置は、2 となります。