Skip to main content

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): Finds the instance (nth occurrence) of a target string in the initial string and returns the 0-indexed position of the instance. The function is case-sensitive and doesn’t accept negative parameters.

Example

FindNth("Hello World","o",2) returns 7. The function finds the 2nd instance of "o" in the provided string and returns the 0-indexed position, which in this case is 7.

FindNth("Hello World","World",1) returns 6. The function finds the 1st instance of "World" in the provided string and returns the 0-indexed position of the first character, which in this case is 6.

FindNth("Hello World","o",1.8) returns 7. The function finds the 2nd instance (rounds 1.8 to the nearest integer) of "o" in the provided string and returns the 0-indexed position of the 2nd character, which in this case is 7.

FindNth("Hello World","world",1) returns -1. The function finds the 1st instance of "world" in the provided string and returns the 0-indexed position of the first character, which in this case is -1 (match not found due to case sensitivity).

FindNth("Hello World","l",0) returns -1. The function finds the 0th instance of "l" in the provided string and returns the 0-indexed position, which in this case is -1 (not found because the 0th position doesn't exist).

FindNth("Hello World","l",-1) returns -1. Negative parameters are not applicable, so the function returns -1 (not found).

FindNth("Hello World", Null(), 1) returns -1. Null and empty are not found.

FindNth(Hello world, "l", 1) returns an error. The function requires that the first 2 parameters are strings.

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 nessuna occorrenza.

Esempio

FindString([Name], "John") restituisce 0 quando la stringa inizia con John e restituisce -1 in caso contrario.

IF (FINDSTRING([Name], "John") =0) THEN "John Smith" ELSE "Other" ENDIF restituisce John Smith quando la stringa inizia con John e restituisce Other quando la stringa non lo fa.

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 il riempimento (char) è lungo 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 il riempimento (char) è lungo 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.