Funzioni di testo
L'elenco mostra le funzioni di testo utilizzabili nelle espressioni.
Funzione | Descrizione |
---|---|
~= | Può far parte di un'istruzione If o Case. Restituisce true se la stringa dell'espressione regolare Arg2 corrisponde alla stringa Arg1. Esempi: If( "aab" ~= "a+" , "true", "false" ) Case when "aba" ~= ".a+$" then "true" else "false" end |
Concatenate(Arg1, ...) | Concatena (accoda) tutti gli argomenti in una stringa. Se viene fornito un argomento, il risultato è la concatenazione di tutte le righe. Se vengono forniti più argomenti, ogni riga viene concatenata. Gli argomenti possono essere di qualsiasi tipo, ma vengono convertiti in stringhe. Il risultato è di tipo string. Gli argomenti null sono ignorati. Esempi: Concatenate("April ", 20+1, "st") → "April 21st" Concatenate(null, "Ape")→ "Ape" Concatenate (null, null) → (Vuoto) |
Find(Arg1, Arg2, Arg3) | Restituisce l'indice dell'occorrenza della stringa Arg1 in Arg2. Arg3 facoltativamente indica la corrispondenza da restituire. Se non viene fornito il terzo argomento, viene restituita la prima corrispondenza. Se non viene trovata alcuna corrispondenza, viene restituito 0. La ricerca distingue tra maiuscole/minuscole. I primi due argomenti sono di tipo String, mentre il terzo argomento e il risultato sono di tipo Integer. Se Arg1 è una stringa vuota, restituisce 0. Esempi: Find("lo", "Hello") → 4 Find("a", "Hello") → 0 Find("", "Hello") → 0 Find("", null) → (Vuoto) If(Find("Pri 1", [Col1])>0, "Important", "Not important") Find("a", "ababab") → 1 Find("a", "ababab", 2) → 3 Find("a", "ababab", 10) → 0 |
Left(Arg1, Arg2) | Restituisce i primi Arg2 caratteri della stringa Arg1. Arg1 e il risultato sono di tipo String. Arg2 è di tipo Real, tuttavia viene utilizzata solo la parte Integer. Se Arg2> della lunghezza di Arg1, la funzione restituisce l'intera stringa. Se Arg2 è negativo, verrà rimosso il numero di caratteri Arg2 dal lato destro della stringa Arg1. Esempi: Left("Daddy", 1) → "D" Left("Daddy", 3.99) → "Dad" Left("Daddy", 386) → "Daddy" Left("Daddy", -1) → "Dadd" |
Len(Arg1) | Restituisce la lunghezza di Arg1. Arg1 è di tipo String, mentre il risultato è di tipo Integer. Esempi: Len("Hello") → 5 Len(null) → (Vuoto) |
Lower(Arg1) | Restituisce Arg1 minuscolo. Arg1 e il risultato sono di tipo String. |
Mid(Arg1, Arg2, Arg3) | Restituisce una sottostringa di Arg1 a partire dall'indice Arg2 con una lunghezza di Arg3 caratteri. Arg1 e il risultato sono di tipo String. Arg2 e Arg3 sono di tipo Real, tuttavia viene utilizzata solo la parte Integer. Se Arg2 > Len(Arg1), restituisce una stringa vuota. Altrimenti, se Arg2+Arg3 > Len(Arg1), Arg3 è regolato in base a 1+Len(Arg1)-Arg2. Se uno tra Arg2 o Arg3 è negativo o se Arg2 equivale a zero, viene restituito un errore. Esempi: Mid("Daddy", 2, 3) → "add" Mid("Daddy", 386, 4) → "" Mid("Daddy", 4, 386) → "dy" Mid("Daddy", -1, 2) → (Vuoto) Mid("Daddy", 2, -1) → (Vuoto) |
MostCommon(Arg1) | Restituisce il valore più comune per la colonna specificata. Se vengono utilizzati diversi valori comuni, viene preso il primo. Esempio: MostCommon([Column]) |
NameDecode(Arg1) | Sostituisce tutti i codici della sottostringa con caratteri decodificati. I nomi di colonna in TIBCO Spotfire® sono memorizzati come stringhe codificate UTF-16. Esempio: NameDecode("Column %02D") |
NameEncode(Arg1) | Codifica i caratteri nella stringa in modo che contenga solo caratteri corrispondenti all'espressione regolare [.0-9a-zA-Z]. I nomi di colonna in TIBCO Spotfire® sono memorizzati come stringhe codificate UTF-16. Esempio: NameEncode("Column £") |
Repeat | Ripete una stringa per un numero di volte specificato. Esempio: Repeat("Hello", 2) → "HelloHello" |
Right(Arg1, Arg2) | Restituisce gli ultimi Arg2 caratteri della stringa Arg1. Arg1 e il risultato sono di tipo String. Arg2 è di tipo Real, tuttavia viene utilizzata solo la parte Integer. Se Arg2 > della lunghezza di Arg1, la funzione restituisce l'intera stringa. Se Arg2 è negativo, verrà rimosso il numero di caratteri Arg2 dal lato sinistro della stringa Arg1. Esempi: Right("Daddy", 1) → "y" Right("Daddy", 3.99) → "ddy" Right("Daddy", 386) → "Daddy" Right("Daddy", -1) → "addy" |
RXExtract(Arg1, Arg2, Arg3) |
Restituisce la parte di una stringa (Arg1) che corrisponde a un'espressione regolare (Arg2). Arg3 determina quale corrispondenza utilizzare in caso di corrispondenze multiple. Esempi: RXExtract([Column], "l+", 1) RXExtract("Parallel", "l+", 1) → "ll" RXExtract("Parallel", "l+", 2) → "l" |
RXReplace(Arg1, Arg2, Arg3, Arg4) | Sostituisce una sottostringa conformemente a un'espressione regolare. Cerca l'espressione regolare Arg2 in Arg1 e la sostituisce con Arg3. Arg4 specifica le opzioni di sostituzione: "g" indica che se Arg2 corrisponde più di una volta, tutte le occorrenze devono essere sostituite. "i" specifica che il confronto non deve distinguere tra maiuscole e minuscole. "s", per la modalità su singola riga, specifica che il punto (.) corrisponde a ogni carattere (invece che ogni carattere eccetto il carattere di nuova riga). Alcuni caratteri, come ad esempio la barra rovesciata "\" e le parentesi "(" and ")", devono essere preceduti da un carattere di escape per funzionare con le colonne calcolate. Poiché le parentesi sono utilizzate per il raggruppamento in espressioni regolari, sia "(" che ")" devono essere precedute da un carattere di escape se occorre trovare la corrispondenza del segno ( o ) e quando il carattere è utilizzato in un'espressione regolare, è necessario utilizzare doppie barre rovesciate come escape della stringa Spotfire e dell'espressione regolare. Per ulteriori informazioni, consultare la documentazione sugli elementi del linguaggio delle espressioni regolari, ad esempio su MSDN. Esempi: RXReplace("Hello", "L+", "LL", "i") → "HeLLo" RXReplace("3 Minor", "(\\d).*", "$1", "") → 3 RXReplace([Column with values within parenteses], "\\(89\\)", "", "") RXReplace("change\\slashdirection","\\\\","/","") → change/slashdirection Nell'ultimo esempio, la barra rovesciata deve essere preceduta da un carattere di escape due volte: una volta per la stringa Spotfire e un'altra per l'espressione regolare. |
Split(Arg1, Arg2, Arg3) | Suddivide i valori in Arg1 in un numero di sottostringhe, utilizzando Arg2 come separatore. Arg3
specifica quali valori devono essere restituiti in forma di nuova colonna. Viene restituita una sola colonna. Utilizzare un valore Arg3 negativo per specificare che la suddivisione deve essere eseguita dalla fine della stringa procedendo verso l'inizio, non dall'inizio verso la fine. Se ad esempio una colonna chiamata "X" contenente il valore "a.b" viene suddivisa in due parti utilizzando il separatore ".", Split([X],".",1) restituirà "a" e Split([X],".",2) restituirà "b". Esempi: Split([Column]," ",2) Split([Column]," ",-2) Split([Column]," / ",3) |
Substitute(Arg1, Arg2, Arg3) | Sostituisce tutte le occorrenze di Arg2 in Arg1 con Arg3. La ricerca distingue tra maiuscole e minuscole. Esempio: Substitute("Test","t","ting") → "Testing" |
Substring(Arg1, Arg2, Arg3) | Restituisce una sottostringa di Arg1 a partire dall'indice Arg2 con una lunghezza di Arg3 caratteri. Arg1 e il risultato sono di tipo String. Arg2 e Arg3 sono di tipo Real, tuttavia viene utilizzata solo la parte Integer. Se Arg2 > Len(Arg1), restituisce una stringa vuota. Altrimenti, se Arg2 +
Arg3 > Len(Arg1), Arg3 è regolato in base a 1+Len(Arg1) -
Arg2. Se uno tra Arg2 o Arg3 è negativo o se Arg2 equivale a zero, viene restituito un errore. Esempi: Substring("Daddy", 2, 3) → "add" Substring("Daddy", 386, 4) → "" Substring("Daddy", 4, 386) → "dy" Substring("Daddy", -1, 2) → (Vuoto) Substring("Daddy", 2, -1) → (Vuoto) |
Trim(Arg1) | Rimuove gli spazi vuoti all'inizio e alla fine di una stringa. Esempio: Trim(" Example ") → "Example" |
UniqueConcatenate(Arg1) | Concatena i valori univoci convertiti in stringhe. I valori vengono ordinati in base allo strumento di confronto. Esempio: UniqueConcatenate([Column]) |
Upper(Arg1) | Restituisce Arg1 maiuscolo. Arg1 e il risultato sono di tipo String. Esempio: Upper("hello") → "HELLO" |