Zeichenfolgenfunktionen
Eine Zeichenfolgen-Funktion führt Operationen mit Textdaten durch. Mit einer Zeichenfolgen-Funktion können Sie Daten bereinigen, Daten in ein anderes Format konvertieren oder zwischen Groß- und Kleinschreibung wechseln, Metriken zu den Daten berechnen oder andere Änderungen vornehmen. Verwenden Sie Zeichenfolgenfunktionen nur mit Zeichenfolgen- Datentypen .
Contains
Contains(String, Target, CaseInsensitive=1
): sucht nach dem Vorkommen einer bestimmten Zeichenfolge innerhalb einer Zeichenfolge. Gibt True zurück, wenn (String) (Target) enthält und andernfalls False.
Beispiel
Contains('123ABC', 'ABC')
gibt „True“ zurück.
Contains('123ABC', 'abc')
gibt „True“ zurück.
Contains('123ABC', 'abc', 0)
gibt „False“ zurück.
CountWords
CountWords(string)
: gibt die Anzahl der Wörter in der angegebenen Zeichenfolge zurück. Wörter werden durch Zeichen definiert, die durch ein Leerzeichen getrennt sind.
Beispiel
CountWords("Basic Variables Households")
gibt „3" zurück.
CountWords("Basic Variables Age:Female (Pop)Age 1")
gibt 5 zurück.
DecomposeUnicodeForMatch
DecomposeUnicodeForMatch(String)
: entfernt Akzente und erweitert zusammengesetzte Zeichen bei der Umwandlung in eine schmale Zeichenfolge. Diese Funktion verwendet einen Alteryx
WString
-Datentyp und konvertiert ihn in einen Datentyp mit einer kleingeschriebenen, schmalen
Zeichenfolge
. Alle Akzente und andere Dekorationen werden entfernt. Siehe
Datentypen
für weitere Informationen zu Alteryx-Datentypen.
Wichtig
Diese Funktion ist nur für den Abgleich hilfreich. Die Zeichenfolge wird nicht als normalisierte Zeichenfolge betrachtet.
Die Funktion ist nicht für die Verwendung mit nicht-westlichen Zeichensätzen wie Japanisch konzipiert. Sie sollten diese Funktion nicht für Zeichenfolgen verwenden, die breite Zeichen enthalten können, und beachten, dass breite Zeichen in „?“ konvertiert werden.
Beispiel
DecomposeUnicodeForMatch("Prénoms français")
gibt „prenoms francais“ zurück
EndsWith
EndsWith(String, Target, CaseInsensitive=1)
: prüft, ob eine Zeichenfolge mit einer bestimmten Zeichenfolge endet. Gibt „True“ zurück, wenn die Zeichenfolge (String) mit dem Ziel (Target) endet. Gibt anderenfalls „False“ zurück. Standardmäßig wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel
EndsWith('123ABC', 'ABC')
gibt „True“ zurück.
EndsWith('123ABC', 'abc')
gibt „True“ zurück.
EndsWith('123ABC', 'abc', 0)
gibt „False“ zurück.
FindNth
FindNth(Initial String, Target, Instance)
: sucht die Instanz (n-tes Vorkommen) einer Zielzeichenfolge in der ursprünglichen Zeichenfolge und gibt die 0-indizierte Position der Instanz zurück. Bei der Funktion wird zwischen Groß- und Kleinschreibung unterschieden und negative Parameter werden nicht akzeptiert.
Beispiel
FindNth("Hello World","o",2)
gibt 7 zurück. Die Funktion findet die 2. Instanz von „o“ in der angegebenen Zeichenfolge und gibt die 0-indizierte Position zurück, in diesem Fall 7.
FindNth("Hello World","World",1)
gibt „6“ zurück. Die Funktion findet die 1. Instanz von „World“ in der angegebenen Zeichenfolge und gibt die 0-indizierte Position des ersten Zeichens zurück, in diesem Fall 6.
FindNth("Hello World","o",1.8)
gibt 7 zurück. Die Funktion findet die 2. Instanz (rundet 1,8 auf die nächste Ganzzahl) von „o“ in der angegebenen Zeichenfolge und gibt die 0-indizierte Position des 2. Zeichens zurück, in diesem Fall 7.
FindNth("Hello World","world",1)
gibt „-1“ zurück. Die Funktion findet die 1. Instanz von „world“ in der angegebenen Zeichenfolge und gibt die 0-indizierte Position des ersten Zeichens zurück, die in diesem Fall -1 ist (Übereinstimmung aufgrund der Groß-/Kleinschreibung nicht gefunden).
FindNth("Hello World","l",0)
gibt „-1“ zurück. Die Funktion findet die 0. Instanz von „l“ in der angegebenen Zeichenfolge und gibt die 0-indizierte Position zurück, die in diesem Fall -1 ist (nicht gefunden, weil die 0. Position nicht vorhanden ist).
FindNth("Hello World","l",-1)
gibt „-1“ zurück. Negative Parameter sind nicht anwendbar, daher gibt die Funktion -1 zurück (nicht gefunden).
FindNth("Hello World", Null(), 1)
gibt „-1“ zurück. „Null“ und „leer“ wurden nicht gefunden.
FindNth(Hello world, "l", 1)
gibt einen Fehler zurück. Die Funktion erfordert, dass die ersten beiden Parameter Zeichenfolgen sind.
FindString
Wichtig
Bei der Funktion
FindString
wird zwischen Groß- und Kleinschreibung unterschieden.
FindString(String, Target)
: sucht nach dem Vorkommen einer bestimmten Zeichenfolge (Target) innerhalb einer anderen Zeichenfolge (String) und gibt die numerische Position ihres Vorkommens in der Zeichenfolge zurück.
Gibt den 0-basierten Index des ersten Vorkommens von (Target) in (String) zurück. Gibt „-1" zurück, wenn kein Vorkommen vorliegt.
Example
FindString([Name], "John")
returns the 0-based index position of the first character of the target string if the provided string contains the target and returns -1 when the string does not.
FindString("John Smith", "John")
returns 0. The first character ("J") of the target string "John" is in the 0 position of "John Smith."FindString("Michael John Smith", "John")
returns 8. The first character ("J") of the target string "John" is in the 8 position (0-based index) of "Michael John Smith."FindString("David Smith", "John")
returns -1. The target string "John" is not found in the string "David Smith."
GetLeft
GetLeft(String, Delimiter)
: gibt den linken Teil der bereitgestellten (Zeichenfolge) bis zum ersten Vorkommen des oder der angegebenen (Trennzeichen) zurück.
Trennzeichen-Operator
Beachten Sie, dass beim
Trennzeichen
-Operator Groß-/Kleinschreibung beachtet wird. Wenn Sie als Trennzeichen „a“ angeben, verwendet die Funktion als Trennzeichen nicht „A“, sondern nur „a“.
Beispiel
GetLeft("Automated Analytics for All", " ")
gibt „Automated“ zurück.
GetLeft("Enable fast, confident decisions across the enterprise.", ",")
gibt „Enable fast“ zurück.
GetPart
GetPart(String, Delimiter, Index)
: verwendet das oder die angegebene/n (Trennzeichen), um die (Zeichenfolge) in Teilzeichenfolgen zu unterteilen, und gibt die Teilzeichenfolge in der im (Index) angegebenen Position zurück.
Trennzeichen-Operator
Beachten Sie, dass beim
Trennzeichen
-Operator Groß-/Kleinschreibung beachtet wird. Wenn Sie als Trennzeichen „a“ angeben, verwendet die Funktion als Trennzeichen nicht „A“, sondern nur „a“.
Diese Funktion verwendet einen 0-basierten Index. Beispiel: Wenn der Index 2 ist, gibt die Funktion die Zeichenfolge von der Position in Index 2 zurück, also der dritten Teilzeichenfolge.
Beispiel
GetPart("Automated Analytics for All", " ", 1)
gibt „Analytics“ zurück.
GetPart("Automated Analytics for All", " ", 0)
gibt „Automated“ zurück.
GetPart("Enable fast, confident decisions across the enterprise.", ", ", 5)
gibt „across“ zurück. Beachten Sie, dass in diesem Beispiel zwei Trennzeichen verwendet werden: ein Komma und ein Leerzeichen. Die Funktion teilt die Zeichenfolge auf, wenn sie auf ein Trennzeichen trifft.
GetPart("January 1, 2023", " ", 2)
gibt „2023“ zurück.
GetRight
GetRight(String, Delimiter)
: gibt den rechten Teil der (Zeichenfolge) nach dem ersten Vorkommen des oder der angegebenen (Trennzeichen) zurück.
Trennzeichen-Operator
Beachten Sie, dass beim
Trennzeichen
-Operator Groß-/Kleinschreibung beachtet wird. Wenn Sie als Trennzeichen „a“ angeben, verwendet die Funktion als Trennzeichen nicht „A“, sondern nur „a“.
Beispiel
GetRight("Automated Analytics for All", " ")
gibt „Analytics for all“ zurück.
GetRight("Enable fast, confident decisions across the enterprise.", ",")
gibt „ confident decisions across the enterprise.“ zurück (Beachten Sie das Leerzeichen vor dem Wort
confident
in der Ausgabe).
GetWord
GetWord(string, n)
: gibt das n-te (0-basierte) Wort in der Zeichenfolge zurück (0-basierter Index bedeutet, dass das erste Wort an der 0-Position steht, das zweite an der 1-Position usw.). Wörter werden als eine Sammlung von Zeichen definiert, die durch ein Leerzeichen, einen Tabulator, einen Zeilenumbruch oder einen eingebetteten Zeilenumbruch getrennt sind. Mehrere Trennzeichen in einer Zeile werden als ein Trennzeichen behandelt.
Beispiel
GetWord("Basic Variables Households", 0)
gibt „Basic“ zurück.
GetWord("Basic Variables Households", 1)
gibt „Variables“ zurück.
Left
Left(String, len)
: gibt die ersten [len] Zeichen der Zeichenfolge (String) zurück. Wenn „len" kleiner als 0 oder größer als die Länge der Zeichenfolge (String) ist, bleibt die Zeichenfolge unverändert.
Beispiel
Left("92688", 3)
gibt den Wert „926“ zurück.
Length
Length(String)
: Gibt die Länge der Zeichenfolge (String) zurück.
Warnung
Längenergebnisse können zwischen dieser Designer-Funktion und SQL-Funktionen abweichen. Dies hängt davon ab, wie eine bestimmte Datenbank breite Zeichen und Zeilenumbrüche verarbeitet. Beispiel: Zeilenumbrüche werden in PostgreSQL nicht als Länge gezählt, während sie in der Designer-Länge-Funktion gezählt werden, und die Ergebnisse in Designer können abweichen, je nachdem, ob der ANSI- oder Unicode-Treiber verwendet wird.
Beispiel
Length("92688")
gibt den Wert „5" zurück.
LowerCase
LowerCase(String)
: konvertiert eine Zeichenfolge in Kleinbuchstaben.
Beispiel
LowerCase("M1P 1G6")
gibt „m1p 1g6“ zurück.
MD5_ASCII
MD5_ASCII(String)
: berechnet den MD5-Hash der Zeichenfolge. Die Zeichenfolge sollte nur schmale Zeichen enthalten. Breite Zeichen werden in „?“ umgewandelt, bevor der Hash berechnet wird. Für String-Typen verwenden, nicht für WString-Typen empfohlen. Sie sollten diese Funktion nicht für Zeichenfolgen verwenden, die breite Zeichen enthalten könnten.
MD5_UNICODE
MD5_UNICODE(String)
: berechnet sowohl für die Original-Engine als auch für AMP den MD5-Hash der als UTF-16 gespeicherten Zeichenfolge.
MD5_UTF8
MD5_UTF8(String)
: berechnet den MD5-Hash der als UTF-8 gespeicherten Zeichenfolge.
Beispiel
Md5_Ascii("Lá")
, gespeichert als Latin1, benötigt 2 Bytes, 4C E1. Die Funktion berechnet den MD5 der Bytes und ergibt „0c0ee86cc87d87125ad8923562be952e“.
Md5_Ascii("Lá ☢")
, da ☢ ein breites Zeichen ist, wird es durch ein „?“ ersetzt, so als ob Sie Md5_Ascii("Lá?") berechnen würden. Es wird als Latin1 in 3 Bytes, 4C E1 3F, gespeichert. Die Funktion berechnet den MD5 der Bytes und ergibt „a5a308ab19acf900efea8fc7b5b77b4d“.
Md5_Unicode("Lá")
, gespeichert als UTF-16, benötigt 4 Bytes, 4C 00 E1 00. Die Funktion berechnet den MD5 der Bytes und ergibt „aa9969dfcca04249842cc457e5b3dd01“.
Md5_Unicode("Lá ☢")
, wenn es als UTF-16 gespeichert wird, werden 8 Byte benötigt, 4C 00 E1 00 3C D8 C8 DF. Die Funktion berechnet den MD5 der Bytes und ergibt: "7c4762d93572dd02a8a405232e966b18".
Md5_Utf8("Lá")
, gespeichert als UTF-8, benötigt 3 Bytes, 4C C3 A1. Die Funktion berechnet den MD5 der Bytes und ergibt „68f00289dc3be140b1dfd4e031d733f1“.
Md5_Utf8("Lá ☢")
, wenn als UTF-8 gespeichert, werden 7 Bytes benötigt, 4C C3 A1 F0 9F 8F 88. Die Funktion berechnet den MD5 der Bytes und ergibt „383fc0355db728a2078ce41a2ab6211b“.
PadLeft
PadLeft (String, len, char)
: füllt die Zeichenfolge links mit dem angegebenen Zeichen auf die angegebene Länge auf. Wenn die Auffüllung (char) mehr als ein Zeichen lang ist, wird nur das erste Zeichen verwendet.
Beispiel
PadLeft("M", 4, "x")
gibt „xxxM“ zurück.
PadRight
PadRight (String, len, char)
: füllt die Zeichenfolge rechts mit dem angegebenen Zeichen auf die angegebene Länge auf. Wenn die Auffüllung (char) mehr als ein Zeichen lang ist, wird nur das erste Zeichen verwendet.
Beispiel
PadRight("M", 4, "x")
gibt „Mxxx“ zurück.
REGEX_CountMatches
REGEX_CountMatches(String,pattern,icase)
: gibt die Anzahl der Übereinstimmungen mit dem Muster (pattern) innerhalb der Zeichenfolge zurück.
icase
ist ein optionaler Parameter. Wenn dieser angegeben ist, muss die Groß-/Kleinschreibung übereinstimmen. Standardmäßig „icase=1“, was bedeutet, dass die Groß- und Kleinschreibung ignoriert wird. Wenn „icase" auf „0" festgelegt ist, muss die Groß- und Kleinschreibung übereinstimmen.
REGEX_Match
REGEX_Match(String,pattern,icase)
: durchsucht eine Zeichenfolge nach dem Vorkommen eines regulären Ausdrucks.
Gibt an, ob die Zeichenfolge vom ersten bis zum letzten Zeichen mit dem Muster übereinstimmt.
Beginnen Sie das Schema mit „.*“, um nach etwas zu suchen, das nicht unbedingt am Anfang der Zeichenfolge beginnt.
Beenden Sie das Schema mit „.*“, um nach etwas zu suchen, das nicht unbedingt bis zum Ende der Zeichenfolge reicht.
icase
ist ein optionaler Parameter. Wenn dieser angegeben ist, muss die Groß-/Kleinschreibung übereinstimmen. Standardmäßig „icase=1“, was bedeutet, dass die Groß- und Kleinschreibung ignoriert wird. Wenn „icase" auf „0" festgelegt ist, muss die Groß- und Kleinschreibung übereinstimmen.
Beispiel
REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}")
gibt „-1“ („True“) zurück.
REGEX_Replace
REGEX_Replace(String, pattern, replace, icase)
: ermöglicht das Ersetzen von Text mithilfe regulärer Ausdrücke und gibt die Zeichenfolge zurück, die sich aus dem RegEx-Suchen (pattern) und Ersetzen (string) ergibt. Alle Vorkommen der Übereinstimmung werden ersetzt, nicht nur das erste.
Der Ersetzungsparameter kann entweder ein angegebener Wert, wie unten angezeigt, oder eine markierte Gruppe sein, z. B. „$1“. Stellen Sie sicher, dass markierte Gruppen in doppelte Anführungszeichen gesetzt sind.
icase
ist ein optionaler Parameter. Wenn dieser angegeben ist, muss die Groß-/Kleinschreibung übereinstimmen.
Standardmäßig bedeutet „icase=1ֱ“, dass die Groß-/Kleinschreibung ignoriert wird.
Wenn „icase" auf „0" festgelegt ist, muss die Groß- und Kleinschreibung übereinstimmen.
Beispiel
REGEX_Replace("Don't reveal your Social Security number, 123-45-6789","\d{3}-\d{2}-\d{4}", "CLASSIFIED")
gibt „Don't reveal your Social Security number, CLASSIFIED“ zurück.
REGEX_Replace("Change all domain names from alteryx@Alteryx.com","@.*\.", "@extendthereach.")
gibt „Change all domain names from alteryx@extendthereach.com“ zurück.
REGEX_Replace("25 test","(\d+)\s.*","$1")
gibt 25 zurück.
Replace
Replace(String, Target, Replacement)
: gibt die Zeichenfolge (String) zurück, nachdem jedes Vorkommen der Zeichenfolge (Target) durch die Zeichenfolge (Replacement) ersetzt wurde.
Beispiel
Replace("Good judgment comes from experience", "experience", "awareness")
gibt „Good judgement comes from awareness“ zurück.
ReplaceChar
ReplaceChar(String, y, z)
: gibt die Zeichenfolge (String) zurück, nachdem jedes Vorkommen des Zeichens (y) durch das Zeichen (z) ersetzt wurde. Wenn das Ersatzzeichen (z) eine Zeichenfolge mit mehr als einem Zeichen ist, wird nur das erste Zeichen verwendet. Wenn (z) leer ist, wird jedes Zeichen (String), das mit einem beliebigen Zeichen in (y) übereinstimmt, einfach entfernt.
Beispiel
ReplaceChar("abcdefb", "b", "_")
gibt „a_cdef_“ zurück.
ReplaceChar("@a#b%c", "@,#,%", "_")
gibt „_a_b_c“ zurück.
ReplaceFirst
ReplaceFirst(String, Target, Replacement)
: gibt die Zeichenfolge (String) zurück, nachdem das erste Vorkommen der Zeichenfolge (Target) durch die Zeichenfolge (Replacement) ersetzt wurde.
Beispiel
ReplaceFirst("abcdefb", "b", "_")
gibt „a_cdefb“ zurück.
ReverseString
ReverseString(String)
: kehrt alle Zeichen in der Zeichenfolge um.
Beispiel
ReverseString("abcdefb")
gibt „bfedcba“ zurück.
Right
Right(String, len)
: gibt die letzten (len) Zeichen der Zeichenfolge zurück. Wenn len kleiner 0 oder größer als die Länge der Zeichenfolge ist, bleibt die Zeichenfolge unverändert.
Beispiel
Right("92688", 3)
gibt den Wert „688“ zurück.
StartsWith
StartsWith(String, Target, CaseInsensitive=1)
: prüft, ob eine Zeichenfolge mit einer bestimmten Zeichenfolge beginnt. Gibt True (wahr) zurück, wenn die Zeichenfolge mit einer bestimmten Zeichenfolge „Target“ beginnt. Gibt anderenfalls False (falsch) zurück.
Beispiel
StartsWith('ABC123', 'ABC')
gibt „True“ zurück.
StartsWith('ABC123', 'abc')
gibt „True“ zurück.
StartsWith('ABC123', 'abc', 0)
gibt „False“ zurück.
STRCSPN
STRCSPN(String, y)
: Gibt die Länge des Anfangssegments der Zeichenfolge (String) zurück, das aus Zeichen besteht, die
nicht
in der Zeichenfolge (y) enthalten sind.
Beispiel
STRCSPN("Bob's Amaco", "~!@#$%^&*'()")
gibt 3 zurück. Dies ist ein nützlicher Test, um sicherzustellen, dass in der Zeichenfolge keine Interpunktion vorkommt.
StripQuotes
StripQuotes(String)
: entfernt einen übereinstimmenden Satz von Anführungszeichen oder Apostrophen von den Enden der Zeichenfolge.
Beispiel
StripQuotes("Hello there")
gibt „Hello there“ zurück.
StripQuotes("'Hello there,' she said.")
gibt „Hello there, she said“ zurück
StripQuotes('"Hello there," she said.')
gibt „Hello there, she said“ zurück.
STRSPN
STRSPN(String, y)
: gibt die Länge des Anfangssegments der Zeichenfolge (String) zurück, die aus Zeichen in der Zeichenfolge (y) besteht.
Beispiel
STRSPN("3034408896x105", "0123456789")
gibt 10 zurück. Dies ist ein nützlicher Test, um sicherzustellen, dass eine Zeichenfolge aus einer Reihe von Zeichen besteht.
Substring
Substring(String, start, length)
: gibt die Teilzeichenfolge von (String) zurück, beginnend bei (start) und endend nach (length), falls angegeben.
Beispiel
Substring("949-222-4356", 4, 8)
gibt „222-4356“ zurück.
Substring("949-222-4356", 4, 6)
gibt „222-43“ zurück.
Substring("949-222-4356", 4)
gibt „222-4356“ zurück.
TitleCase
TitleCase(String)
: konvertiert in der Zeichenfolge kleine Anfangsbuchstaben der Wörter in große Anfangsbuchstaben.
Beispiel
TitleCase("john smith")
gibt „John Smith“ zurück.
Trim
Trim(String, y)
: Entfernt die Zeichen in der Zeichenfolge (y) von den Enden der Zeichenfolge (String). „Y" ist optional und wird standardmäßig zum Entfernen von Leerzeichen verwendet. Beachten Sie, dass in den Beispielen der TRIM-Funktion die angegebenen Zeichen entfernt wurden. Es spielt dabei keine Rolle, in welcher Reihenfolge die Zeichen vorkommen.
Beispiel
Trim("!see instructions!!!", "!")
gibt „see instructions“ zurück.
Trim(" Test123 ")
gibt „Test123“ zurück.
TrimLeft
TrimLeft(String, y)
: entfernt das Zeichen in der Zeichenfolge (y) vom Anfang der Zeichenfolge (String). „Y" ist optional und wird standardmäßig zum Entfernen von Leerzeichen verwendet.
Beispiel
TrimLeft("** special invitation ", " *")
gibt „special invitation “ zurück.
TrimRight
TrimRight(String, y)
: entfernt das Zeichen in der Zeichenfolge (y) vom Ende der Zeichenfolge (String). „Y" ist optional und wird standardmäßig zum Entfernen von Leerzeichen verwendet.
Während Sie möglicherweise eine Zeichenfolge zum Abschneiden einlesen, respektieren die TRIM-Funktionen die Reihenfolge der Zeichen nicht. Die Zeichenfolge wird als „Liste" behandelt. Daher werden ALLE Zeichen in der Liste abgeschnitten. Wenn Sie eine Zeichenfolge ersetzen möchten, verwenden Sie in Ihrem Ausdruck besser die REPLACE-Funktion oder eine REGEX-Funktion.
Beispiel
TrimRight("John Smith ")
gibt „John Smith“ zurück.
TrimRight("John Smith**","*")
gibt „John Smith“ zurück.
Uppercase
Uppercase(String)
: konvertiert eine Zeichenfolge in Großbuchstaben.
Beispiel
Uppercase("John Smith")
gibt „JOHN SMITH“ zurück.
Uuid
UuidCreate()
: erstellt eine einmalige Kennung.
Beispiel
UuidCreate()
gibt eine eindeutige Variable wie „ba131836-1ba3-4d42-8f7e-b81a99c2e838“ zurück.
Informationen zu Längen und Zeichenfolgen
Wenn auf die Länge einer Zeichenfolge verwiesen wird, wird das erste Zeichen als „1" gezählt (die Länge der Zeichenfolge „record" beträgt 6).
Wenn jedoch die Zeichenposition innerhalb einer Zeichenfolge referenziert wird, werden tatsächlich die Stellen zwischen den Zeichen gezählt. Daher sollten Sie die Stelle des ersten Zeichens als „0" angeben. Daher befindet sich der Buchstabe „c“ in der Zeichenfolge „record“ an Position 4.