Funzioni stringa
Una funzione stringa esegue operazioni sui dati di testo. Usa una funzione stringa per pulire i dati, convertire i dati in un formato o un caso diverso, calcolare metriche sui dati o eseguire altre manipolazioni. Utilizza le funzioni stringa solo con tipi di dati stringa.
Contains
Contains(String, Target, CaseInsensitive)1)
: cerca l'occorrenza di una determinata stringa all'interno di una stringa. Restituisce True se (Stringa) contiene (Target), altrimenti restituisce False.
Esempio
Contiene ("123ABC", "ABC")
restituisce True.
Contiene ("123ABC", "abc")
restituisce True.
Contiene ("123ABC", "abc", 0)
restituisce False.
CountWords
CountWords(string)
: restituisce il numero di parole nella stringa specificata. Le parole sono definite da caratteri separati da uno spazio.
Esempio
CountWords("Basic Variables Households")
restituisce 3.
CountWords("Basic Variables Age:Female (Pop)Age 1")
restituisce 5.
DecomposeUnicodeForMatch
DecomposeUnicodeForMatch(String)
: rimuove gli accenti ed espande i caratteri composti durante la conversione in stringa stretta. Questa funzione individua i dati di tipo Alteryx
WString
e li converte in dati
String
con caratteri minuscoli e stretti. Tutti gli accenti e le altre decorazioni sono stati rimossi. Consulta la sezione
Tipi di dati
per ulteriori informazioni sui tipi di dati Alteryx.
Importante
Questa funzione è utile solo per la corrispondenza. Non è considerata una stringa normalizzata.
La funzione non è progettata per l'uso con set di caratteri non occidentali come il giapponese. Evita di utilizzare questa funzione con stringhe che possono contenere caratteri larghi e tieni presente che questi ultimi vengono convertiti in "?".
Esempio
DecomposeUnicodeForMatch("Prénoms français")
restituisce prenoms francais.
EndsWith
EndsWith(String, Target, CaseInsensitive=1)
: controlla se una stringa termina con una determinata stringa. Restituisce True se (String) termina con (Target), altrimenti restituisce False. Per impostazione predefinita, non fa distinzione tra maiuscole e minuscole.
Esempio
EndsWith('123ABC', 'ABC')
restituisce True.
EndsWith('123ABC', 'abc')
restituisce True.
EndsWith('123ABC', 'abc', 0)
restituisce False.
FindNth
FindNth(Initial String, Target, Instance)
: trova l'istanza (ennesima occorrenza) di una stringa target nella stringa iniziale e restituisce la posizione con indicizzazione 0 dell'istanza. La funzione distingue tra maiuscole e minuscole e non accetta parametri negativi.
Esempio
FindNth("Hello World","o",2)
restituisce 7. La funzione trova la seconda istanza di "o" nella stringa fornita e restituisce la posizione con indicizzazione 0, che in questo caso è 7.
FindNth("Hello World","World",1)
restituisce 6. La funzione trova la prima istanza di "World" nella stringa fornita e restituisce la posizione con indicizzazione 0 del primo carattere, che in questo caso è 6.
FindNth("Hello World","o",1.8)
restituisce 7. La funzione trova la seconda istanza (arrotonda 1,8 al numero intero più vicino) di "o" nella stringa fornita e restituisce la posizione con indicizzazione 0 del secondo carattere, che in questo caso è 7.
FindNth("Hello World","world",1)
restituisce -1. La funzione trova la prima istanza di "world" nella stringa fornita e restituisce la posizione con indicizzazione 0 del primo carattere, che in questo caso è -1 (corrispondenza non trovata a causa della distinzione tra maiuscole e minuscole).
FindNth("Hello World","l",0)
restituisce -1. La funzione trova la zeresima istanza di "l" nella stringa fornita e restituisce la posizione con indicizzazione 0, che in questo caso è -1 (non trovata perché la zeresima posizione non esiste).
FindNth("Hello World","l",-1)
restituisce -1. I parametri negativi non sono applicabili, quindi la funzione restituisce -1 (non trovato).
FindNth("Hello World", Null(), 1)
restituisce -1. Non vengono trovati valori nulli e vuoti.
FindNth(Hello world, "l", 1)
restituisce un errore. La funzione richiede che i primi 2 parametri siano stringhe.
FindString
Importante
La funzione
FindString
distingue tra lettere maiuscole e minuscole.
FindString(String, Target)
: cerca l'occorrenza di una determinata stringa (Target) all'interno di un'altra stringa (String) e restituisce la posizione numerica di tale occorrenza nella stringa.
Restituisce l'indice in base 0 della prima occorrenza di (Target) in (String). Restituisce -1 se non ci sono occorrenze.
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)
: restituisce la parte sinistra della stringa fornita fino alla prima istanza di 1 o più delimitatori specificati.
Operatore Delimiter
Tieni presente che l'operatore
Delimiter
distingue tra maiuscole e minuscole. Se specifichi "a" come delimitatore, la funzione utilizza solo "a", non "A".
Esempio
GetLeft("Automated Analytics for All", " ")
restituisce "Automated".
GetLeft("Enable fast, confident decisions across the enterprise.", ",")
Restituisce "Enable fast".
GetPart
GetPart(String, Delimiter, Index)
: utilizza 1 o più delimitatori specificati per dividere la stringa in sottostringhe e restituisce la sottostringa nella posizione specificata nell'indice.
Operatore Delimiter
Tieni presente che l'operatore
Delimiter
distingue tra maiuscole e minuscole. Se specifichi "a" come delimitatore, la funzione utilizza solo "a", non "A".
Questa funzione utilizza un indice in base 0. Ad esempio, se l'indice è 2, la funzione restituisce la stringa dalla posizione nell'indice 2, che è la terza sottostringa.
Esempio
GetPart("Automated Analytics for All", " ", 1)
restituisce "Analytics".
GetPart("Automated Analytics for All", " ", 0)
restituisce "Automated".
GetPart("Enable fast, confident decisions across the enterprise.", ", ", 5)
restituisce "across". Tieni presente che in questo esempio vengono utilizzati 2 delimitatori: una virgola e uno spazio. La funzione divide la stringa quando incontra uno dei delimitatori.
GetPart("January 1, 2023", " ", 2)
restituisce "2023".
GetRight
GetRight(String, Delimiter)
: restituisce la parte destra della stringa dopo la prima istanza di 1 o più delimitatori specificati.
Operatore Delimiter
Tieni presente che l'operatore
Delimiter
distingue tra maiuscole e minuscole. Se specifichi "a" come delimitatore, la funzione utilizza solo "a", non "A".
Esempio
GetRight("Automated Analytics for All", " ")
restituisce "Analytics for All".
GetRight("Enable fast, confident decisions across the enterprise.", ",")
restituisce " confident decisions across the enterprise." (da notare lo spazio prima di
confident
del risultato).
GetWord
GetWord(string, n)
: restituisce l'ennesima (in base 0) parola nella stringa (indice in base 0 significa che la prima parola è nella posizione 0, la seconda è nella posizione 1 e così via). Le parole sono definite come una raccolta di caratteri separati da uno spazio, da una tabulazione o da un carattere di una nuova riga. Più delimitatori in una riga vengono trattati come un unico delimitatore.
Esempio
GetWord("Basic Variables Households", 0)
restituisce "Basic".
GetWord("Basic Variables Households", 1)
restituisce "Variables".
Left
Left(String, len)
: restituisce i primi (len) caratteri della stringa (stringa). Se len è minore di 0 o maggiore della lunghezza di String, String rimane invariato.
Esempio
Left("92688", 3)
restituisce un valore di "926".
Lenght
Length(String)
: restituisce la lunghezza della stringa (String).
Avvertimento
I risultati della lunghezza potrebbero differire tra questa funzione di Designer e le funzioni SQL. Questo dipende dal modo in cui un particolare database gestisce caratteri "wide" e interruzioni di riga. Ad esempio, i caratteri di nuova riga non vengono conteggiati in Lunghezza in PostgreSQL ma lo sono nella funzione Lunghezza di Designer e i risultati in Designer possono variare a seconda che si utilizzi il driver ANSI o Unicode.
Esempio
Length("92688")
restituisce un valore di 5.
LowerCase
LowerCase(String)
: converte una stringa in caratteri minuscoli.
Esempio
LowerCase("M1P 1G6")
restituisce "m1p 1g6".
MD5_ASCII
MD5_ASCII(String)
: calcola l'hash MD5 della stringa. La stringa può contenere solo caratteri di piccole dimensioni. I caratteri "wide" vengono convertiti in "?" prima del calcolo dell'hash. Da utilizzare per i tipi String, non consigliata per i tipi WString. Evita di utilizzare questa funzione su stringhe che possono contenere caratteri "wide".
MD5_UNICODE
MD5_UNICODE(String)
: calcola l'hash MD5 della stringa memorizzata come UTF-16 per l'engine originale e per AMP.
MD5_UTF8
MD5_UTF8(String)
: calcola l'hash MD5 della stringa memorizzata come UTF-8.
Esempio
Md5_Ascii("Lá")
, memorizzato come Latin1, richiede 2 byte, 4C E1. La funzione calcola l'MD5 dei byte e fornisce il risultato "0c0ee86cc87d87125ad8923562be952e".
Md5_Ascii("Lá ☢")
, il carattere ☢, essendo largo, viene sostituito da "?", quindi è come se venisse elaborato Md5_Ascii("Lá?"). Che viene memorizzato come Latin1 in 3 byte, 4C E1 3F. La funzione calcola l'MD5 dei byte e fornisce il risultato "a5a308ab19acf900efea8fc7b5b77b4d".
Md5_Unicode("Lá")
, memorizzato come UTF-16, richiede 4 byte, 4C 00 E1 00. La funzione calcola l'MD5 dei byte e fornisce il risultato "aa9969dfcca04249842cc457e5b3dd01".
Md5_Unicode("Lá ☢")
, quando viene memorizzato come UTF-16 richiede 8 byte, 4C 00 E1 00 3C D8 C8 DF. La funzione calcola l'MD5 dei byte e fornisce il risultato "7c4762d93572dd02a8a405232e966b18".
Md5_Utf8("Lá")
, memorizzato come UTF-8, richiede 3 byte, 4C C3 A1. La funzione calcola l'MD5 dei byte e fornisce il risultato "68f00289dc3be140b1dfd4e031d733f1".
Md5_Utf8("Lá ☢")
, quando viene memorizzato come UTF-8 richiede 7 byte, 4C C3 A1 F0 9F 8F 88. La funzione calcola l'MD5 dei byte e fornisce il risultato "383fc0355db728a2078ce41a2ab6211b".
PadLeft
PadLeft (String, len, char)
: consente di riempire la stringa verso sinistra con il carattere specificato fino alla lunghezza specificata. Se la spaziatura (carattere) è lunga più di un carattere, viene utilizzato solo il primo carattere.
Esempio
PadLeft("M", 4, "x")
restituisce "xxxM".
PadRight
PadRight (String, len, char)
: consente di riempire la stringa a destra con il carattere specificato alla lunghezza specificata. Se la spaziatura (carattere) è lunga più di un carattere, viene utilizzato solo il primo carattere.
Esempio
PadRight("M", 4, "x")
restituisce "Mxxx".
REGEX_CountMatches
REGEX_CountMatches(String,pattern,icase)
: restituisce il numero di corrispondenze al modello all'interno della stringa.
icase
è un parametro opzionale. Se specificato, la distinzione tra maiuscole e minuscole deve corrispondere. Per impostazione predefinita, icase 1 significa "ignora la distinzione tra maiuscole e minuscole". Se impostato su 0, la distinzione tra maiuscole e minuscole deve corrispondere.
REGEX_Match
REGEX_Match(String,pattern,icase)
: cerca un'occorrenza di un'espressione regolare in una stringa.
Indica se la stringa corrisponde al modello dal primo carattere alla fine.
Per cercare qualcosa che non inizia necessariamente all'inizio della stringa, inizia il pattern con '.*'.
Per cercare qualcosa che non va necessariamente fino alla fine della stringa, termina il pattern con '.*'.
icase
è un parametro opzionale. Se specificato, la distinzione tra maiuscole e minuscole deve corrispondere. Per impostazione predefinita, icase 1 significa "ignora la distinzione tra maiuscole e minuscole". Se impostato su 0, la distinzione tra maiuscole e minuscole deve corrispondere.
Esempio
REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}")
restituisce -1 (True).
REGEX_Replace
REGEX_Replace(String, pattern, replace, icase)
: consente la sostituzione del testo utilizzando espressioni regolari e restituisce la stringa risultante dalla RegEx trova (pattern) e sostituisci (string). Tutte le occorrenze della corrispondenza vengono sostituite, non solo la prima.
Il parametro di sostituzione può essere un valore specificato come mostrato di seguito o un gruppo contrassegnato, come "$1". Assicurati che i gruppi contrassegnati siano racchiusi tra virgolette doppie.
icase
è un parametro opzionale. Se specificato, la distinzione tra maiuscole e minuscole deve corrispondere.
Per impostazione predefinita, icase=1 significa "ignora la distinzione tra maiuscole e minuscole".
Se impostato su 0, la distinzione tra maiuscole e minuscole deve corrispondere.
Esempio
REGEX_Replace("Don't reveal your Social Security number, 123-45-6789","\d{3}-\d{2}-\d{4}", "CLASSIFIED")
restituisce Don't reveal your Social Security number, CLASSIFIED.
REGEX_Replace("Change all domain names from alteryx@Alteryx.com","@.*\.", "@extendthereach.")
restituisce Change all domain names from alteryx@extendthereach.com.
REGEX_Replace("25 test","(\d+)\s.*","$1")
restituisce 25.
Replace
Replace(String, Target, Replacement)
: restituisce la stringa (stringa) dopo aver sostituito ogni occorrenza della stringa (Target) con la stringa (sostituzione).
Esempio
Replace("Good judgment comes from experience", "experience", "awareness")
restituisce "Good judgment comes from awareness"
ReplaceChar
ReplaceChar(String, y, z)
: restituisce la stringa (String) dopo aver sostituito ogni occorrenza del carattere (y) con il carattere (z). Se il carattere sostitutivo (z) è una stringa con più di un carattere, viene utilizzato solo il primo carattere. Se (z) è vuoto, ogni carattere (String) che corrisponde a qualsiasi carattere in (y) viene semplicemente rimosso.
Esempio
ReplaceChar("abcdefb", "b", "_")
restituisce "a_cdef_".
ReplaceChar("@a#b%c", "@,#,%", "_")
restituisce "_a_b_c".
ReplaceFirst
ReplaceFirst(String, Target, Replacement)
: restituisce la stringa (String) dopo aver sostituito la prima occorrenza della stringa (Target) con la stringa (Replacement).
Esempio
ReplaceFirst("abcdefb", "b", "_")
restituisce "a_cdefb".
ReverseString
ReverseString(String)
: inverte tutti i caratteri nella stringa.
Esempio
ReverseString("abcdefb")
restituisce "bfedcba".
Right
Right(String, len)
: restituisce gli ultimi caratteri (len) della stringa. Se len è minore di 0 o maggiore della lunghezza di String, la stringa rimane invariata.
Esempio
Right("92688",3)
restituisce un valore di "688".
StartsWith
StartsWith(String, Target, CaseInsensitive=1)
: controlla se una stringa inizia con una determinata stringa. Restituisce True se la stringa inizia con una particolare stringa Target, altrimenti restituisce False.
Esempio
StartsWith('ABC123', 'ABC')
restituisce True.
StartsWith('ABC123', 'abc')
restituisce True.
StartsWith('ABC123', 'abc', 0)
restituisce False.
STRCSPN
STRCSPN(String, y)
: restituisce la lunghezza del segmento iniziale della stringa (String) costituito da caratteri non nella stringa (y).
Esempio
STRCSPN("Bob's Amaco", "~!@#$%^&*'()")
restituisce 3. Questo è un test utile per assicurarsi che non vi sia alcuna punteggiatura nella stringa.
StripQuotes
StripQuotes(String)
: rimuove un set corrispondente di virgolette o apostrofi dalle estremità della stringa.
Esempio
StripQuotes("Hello there")
restituisce Hello there.
StripQuotes("'Hello there,' she said.")
restituisce 'Hello there,' she said.
StripQuotes('"Hello there," she said.')
restituisce "Hello there," she said.
STRSPN
STRSPN(String, y)
: restituisce la lunghezza del segmento iniziale della stringa (String) costituita da caratteri nella stringa (y).
Esempio
STRSPN("3034408896x105", "0123456789")
restituisce 10. Si tratta di un test utile per assicurarsi che una stringa sia costituita da un set di caratteri.
Substring
Substring(String, start, length)
: restituisce la sottostringa di (String) a partire da (start), terminando dopo (length), se fornita.
Esempio
Substring("949-222-4356", 4, 8)
restituisce "222-4356".
Substring("949-222-4356", 4, 6)
restituisce "222-43".
Substring("949-222-4356", 4)
restituisce "222-4356".
TitleCase
TitleCase(String)
: converte una stringa in iniziali maiuscole.
Esempio
TitleCase("john smith")
restituisce "John Smith".
Trim
Trim(String, y)
: rimuove i caratteri nella stringa (y) dalle estremità della stringa (String). Y è facoltativo e predefinito per eliminare gli spazi vuoti. Nota che negli esempi di funzione TRIM i caratteri specificati vengono eliminati. Non importa in che ordine sono i caratteri.
Esempio
Trim("!see instructions!!!", "!")
restituisce "see instructions".
Trim(" Test123 ")
restituisce "Test123".
TrimLeft
TrimLeft(String, y)
: rimuove il carattere nella stringa (y) dall'inizio della stringa (String). Y è facoltativo e predefinito per eliminare gli spazi vuoti.
Esempio
TrimLeft("** special invitation ", " *")
restituisce "special invitation ".
TrimRight
TrimRight(String, y)
: rimuove il carattere nella stringa (y) dalla fine della stringa (String). Y è facoltativo e predefinito per eliminare gli spazi vuoti.
Anche se potresti riscontrare una stringa di caratteri da eliminare, le funzioni TRIM non rispettano l'ordine dei caratteri; tratta la stringa come un "elenco". Pertanto verranno eliminati TUTTI i caratteri nell'elenco. Se desideri sostituire una stringa, utilizza una funzione REPLACE o una funzione REGEX nell'espressione.
Esempio
TrimRight("John Smith ")
restituisce "John Smith".
TrimRight("John Smith**","*")
restituisce "John Smith".
Uppercase
Uppercase(String)
: converte una stringa in maiuscolo.
Esempio
Uppercase("John Smith")
restituisce "JOHN SMITH".
Uuid
UuidCreate()
: crea un identificatore unico.
Esempio
UuidCreate()
restituisce un valore unico, come ba131836-1ba3-4d42-8f7e-b81a99c2e838.
Informazioni su lunghezza e stringhe
Quando si fa riferimento a lunghezza di una stringa, il primo carattere viene conteggiato come 1 (la lunghezza della stringa "record" è 6).
Tuttavia, quando si fa riferimento alla posizione del carattere all'interno di una stringa, le posizioni vengono effettivamente contate fra caratteri. Quindi la posizione del primo carattere va considerata come 0. Quindi, la posizione della lettera "c" nella stringa "record" si trova nella posizione 2.