Zeichenfolgenfunktionen
Eine String-Funktion führt Operationen mit Textdaten durch. Mit einer String-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.
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-indexed 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 of the target string ("J") is in the 0 position or "John Smith."FindString("Michael John Smith", "John")
returns 8. The first character of the target string ("J") is in the 8 position (0-based index) of "Michael John Smith."FindString("David Smith", "John")
returns -1. The first character of the target string ("J") is not found in string "David Smith."
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.