La classe Special contiene filtri che consentono elaborazioni specializzate del testo in input, per rispondere a svariati problemi.
I filtri di tipo Copy columns/fields consentono di copiare e incollare in altri punti del testo in input:
✓ un determinato gruppo di colonne di testo (filtro Copy columns);
✓ uno specifico gruppo di campi testuali (filtro Copy delimited fields), in caso di file a campi delimitati.
Il filtro Copy columns consente di copiare e incollare caratteri, compresi in un determinato intervallo di posizioni sulle righe del testo in input. Esso richiede di selezionare:
✓ il tipo di intervallo di caratteri da copiare;
✓ la posizione in cui incollare i caratteri copiati.
L'intervallo di caratteri da copiare viene determinato da una delle seguenti opzioni alternative:
✓ Column a .. Column b copia tutti i caratteri tra la posizione a e la posizione b, comprese;
✓ b Columns starting at Column a copia b caratteri a partire dalla posizione a, compresa;
✓ b Columns starting at Column END – a copia b caratteri a partire da a posizioni precedenti l'ultimo carattere di una riga;
✓ Column a .. Column END – b copia tutte i caratteri compresi tra la posizione a e b posizioni precedenti l'ultimo carattere di una riga;
✓ Column END – a .. Column END – b copia tutti i caratteri compresi tra a posizioni e b posizioni precedenti l'ultimo carattere di una riga.
I numeri a e b, necessari alla definizione degli intervalli precedenti, sono rispettivamente specificati nei due riquadri sottostanti. Essi assumono intestazioni contestuali alla singola opzione selezionata.
Il conteggio delle posizioni precedenti l'ultimo carattere di una riga parte da 0, ossia: ✓ l'ultimo carattere corrisponde a Column END – 0; ✓ il penultimo carattere corrisponde a Column END – 1; ✓ il terzultimo carattere corrisponde a Column END – 2 e così via. |
Infine, è necessario specificare la posizione a cui incollare i caratteri copiati, in termini di numero di caratteri a partire dal primo carattere di riga, mediante il campo Copy to.
Il filtro Copy delimited fields permette di copiare e incollare uno o più campi di un file a campi delimitati da uno specifico carattere. Esso richiede di specificare:
✓ il tipo di carattere che delimita i singoli campi;
✓ il tipo di intervallo da cui copiare i campi nelle singole righe del testo in input;
✓ la posizione in cui incollare i campi copiati.
Il filtro Copy delimited fields supporta file con campi delimitati da:
✓ virgole, ossia i classici file CSV;
✓ tab;
✓ spazi;
✓ punti e virgola;
✓ pipe.
Tuttavia è possibile specificare ulteriori separatori personalizzati, mediante il campo Other.
Il tipo di intervallo di campi da copiare può essere specificato mediante una delle seguenti opzioni alternative:
✓ Field a .. Field b copia tutti i campi tra il campo a e il campo b, compresi;
✓ b Fields starting at Field a copia b campi a partire dal campo a, compreso;
✓ b Fields starting at Field END – a copia b campi a partire da a campi precedenti l'ultimo campo di una riga;
✓ Field a .. Field END – b copia tutti i campi compresi tra il campo a e b campi precedenti l'ultimo campo di una riga;
✓ Field END – a .. Field END – b copia tutti i campi compresi tra a campi e b campi precedenti l'ultimo campo di una riga.
Il nome delle tipologie di intervallo selezionabili è sempre preceduto da un prefisso, che indica il tipo di delimitatore scelto per il testo in input. |
I numeri a e b, necessari alla definizione degli intervalli di campi da eliminare, sono rispettivamente specificati nei due riquadri sottostanti. Essi assumono intestazioni contestuali alla singola opzione selezionata.
Il conteggio dei campi precedenti l'ultimo campo di una riga del testo in input parte da 0, ossia: ✓ l'ultimo campo corrisponde a Field END – 0; ✓ il penultimo campo corrisponde a Field END – 1; ✓ il terzultimo campo corrisponde a Field END – 2 e così via. |
Infine, è necessario specificare la posizione a cui incollare i caratteri copiati, in termini di numero di caratteri a partire dal primo carattere di riga, mediante il campo Copy to.
I filtri di tipo Move columns/fields consentono di spostare in altri punti del testo in input:
✓ un determinato gruppo di colonne di testo (filtro Move columns);
✓ uno specifico gruppo di campi testuali (filtro Move delimited fields), in caso di file a campi delimitati.
Il filtro Move columns consente di spostare caratteri, compresi in un determinato intervallo di posizioni sulle righe del testo in input. Esso richiede di specificare:
✓ il tipo di intervallo di caratteri da spostare;
✓ la posizione in cui spostare i caratteri selezionati.
L'intervallo di caratteri da spostare viene determinato da una delle seguenti opzioni alternative:
✓ Column a .. Column b seleziona tutti i caratteri tra la posizione a e la posizione b, comprese;
✓ b Columns starting at Column a seleziona b caratteri a partire dalla posizione a, compresa;
✓ b Columns starting at Column END – a seleziona b caratteri a partire da a posizioni precedenti l'ultimo carattere di una riga;
✓ Column a .. Column END – b seleziona tutte i caratteri compresi tra la posizione a e b posizioni precedenti l'ultimo carattere di una riga;
✓ Column END – a .. Column END – b seleziona tutti i caratteri compresi tra a posizioni e b posizioni precedenti l'ultimo carattere di una riga.
I numeri a e b, necessari alla definizione degli intervalli precedenti, sono rispettivamente specificati nei due riquadri sottostanti. Essi assumono intestazioni contestuali alla singola opzione selezionata.
Il conteggio delle posizioni precedenti l'ultimo carattere di una riga parte da 0, ossia: ✓ l'ultimo carattere corrisponde a Column END – 0; ✓ il penultimo carattere corrisponde a Column END – 1; ✓ il terzultimo carattere corrisponde a Column END – 2 e così via. |
Infine, è necessario specificare la posizione a cui spostare i caratteri selezionati, in termini di numero di caratteri a partire dal primo carattere di riga, mediante il campo Move to.
Il filtro Move delimited fields permette di spostare uno o più campi in un file a campi delimitati da uno specifico carattere. Esso richiede di specificare:
✓ il tipo di carattere che delimita i singoli campi;
✓ il tipo di intervallo da cui selezionare i campi da spostare;
✓ la posizione in cui spostare i campi selezionati.
Il filtro Move delimited fields supporta file con campi delimitati da:
✓ virgole, ossia i classici file CSV;
✓ tab;
✓ spazi;
✓ punti e virgola;
✓ pipe.
Tuttavia è possibile specificare ulteriori separatori personalizzati, mediante il campo Other.
Il tipo di intervallo di campi da copiare può essere specificato mediante una delle seguenti opzioni alternative:
✓ Field a .. Field b seleziona tutti i campi tra il campo a e il campo b, compresi;
✓ b Fields starting at Field a seleziona b campi a partire dal campo a, compreso;
✓ b Fields starting at Field END – a seleziona b campi a partire da a campi precedenti l'ultimo campo di una riga;
✓ Field a .. Field END – b seleziona tutti i campi compresi tra il campo a e b campi precedenti l'ultimo campo di una riga;
✓ Field END – a .. Field END – b seleziona tutti i campi compresi tra a campi e b campi precedenti l'ultimo campo di una riga.
Il nome delle tipologie di intervallo selezionabili è sempre preceduto da un prefisso, che indica il tipo di delimitatore scelto per il testo in input. |
I numeri a e b, necessari alla definizione degli intervalli di campi da eliminare, sono rispettivamente specificati nei due riquadri sottostanti. Essi assumono intestazioni contestuali alla singola opzione selezionata.
Il conteggio dei campi precedenti l'ultimo campo di una riga del testo in input parte da 0, ossia: ✓ l'ultimo campo corrisponde a Field END – 0; ✓ il penultimo campo corrisponde a Field END – 1; ✓ il terzultimo campo corrisponde a Field END – 2 e così via. |
Infine, è necessario specificare la posizione a cui spostare i caratteri selezionati, in termini di numero di caratteri a partire dal primo carattere di riga, mediante il campo Move to.
Il filtro Capture text consente di prendere la porzione di testo in input e di attribuirla ad una variabile, il cui nome può essere definito dall'utente.
Il filtro Capture text attribuisce alla variabile tutto il testo ad esso in input. Pertanto è buona noma inserirlo come sotto-filtro di un filtro della classe Restrict, in modo da attribuire alla variabile in output la sola porzione di testo desiderata. |
Questo filtro richiede di specificare:
✓ il nome della variabile, contenente il testo in input al filtro, mediante il campo Name of global variable;
✓ il valore iniziale assunto dalla variabile stessa, nell'apposito editor di testo.
Il nome attribuito ad una variabile è sempre case insensitive. |
Inoltre, è possibile scegliere la modalità di azzeramento della variabile al suo valore iniziale, mediante l'apposito menù a tendina. Esso espone le seguenti opzioni:
✓ Do not reset non esegue alcun azzeramento;
✓ Reset at start of each file azzera il valore assunto dalla variabile all'inizio di ogni nuovo file, in caso l'input del sottostante Text Link sia una lista di file;
✓ Reset at start of each region azzera il valore assunto dalla variabile all'inizio di ogni nuova regione di testo, identificata da eventuali filtri Restrict precedenti;
✓ Reset for both combina i comportamenti di Reset at start of each file e Reset at start of each region.
La variabile definita dal filtro Capture text può essere utilizzata in ogni altro filtro, dotato di editor di testo, in cui deve essere richiamata con la sintassi @VariableName. |
Il filtro Repeat file consente di creare un testo, in cui il contenuto del testo in input viene ripetuto un numero preciso di volte. Esso richiede di specificare il numero di ripetizioni del testo in input, nel campo Repeat each file this many time.
Il filtro Repeat file è in grado di processare anche due o più file, in caso in caso l'input del sottostante Text Link sia una lista di file. In questo caso, ogni singolo file in input viene ripetuto lo stesso numero di volte. |
Il filtro Reverse line order permette di invertire l'ordine delle righe del file di testo in input (i.e. la prima riga diventa l'ultima, la seconda riga diventa la penultima e così via).
Il filtro Create word list pone ogni parola del testo in input su una propria riga, in modo da creare una lista di parole.
Il filtro Reverse each line consente di invertire l'ordine dei singoli caratteri, leggendo la riga corrispondente da destra a sinistra.
Il filtro Reverse each line non funziona su file con codifica Unicode o UTF-8. |
Il filtro XSLT filter permette di estrarre dati da un file XML in input, di cui è fornita la struttura mediante un file XSLT. Il file di di struttura XSLT può essere:
✓ ricopiato direttamente nell'apposito editor di testo, abilitando l'opzione From Text;
✓ richiamato mediante il suo percorso assoluto su file system, abilitando l'opzione From File.
Questo filtro può contenere uno o più sotto-filtri, con cui elaborare l'output dell'estrazione di dati dal file XML, in input al sottostante Text Link.
Il filtro Comment non elabora il testo in input ma consente di inserire commenti all'interno della lista di filtri, esposta nel Filter tree. In particolare, questo filtro può essere utile per raggruppare filtri che svolgono funzioni medesime in sequenza, in quanto accetta uno o più sotto-filtri.
Il filtro Count duplicates lines consente di esporre in output:
✓ le sole righe, che possiedono duplicati nel testo in input;
✓ il numero di occorrenze di tali righe nel testo in input.
Esso richiede di specificare la porzione di ogni riga da confrontare nella ricerca di duplicati, mediante i campi:
✓ Start Column, numero ordinale del carattere, all'interno della riga, da cui iniziare il confronto;
✓ Length, numero di caratteri da confrontare a partire dal carattere identificato dalla Start Column.
Il confronto delle porzioni di riga così definite può essere reso case insensitive, attivando il flag Ignore case.
Il numero di occorrenze delle righe duplicati può essere visualizzato in output secondo diversi formati numerici, selezionabili mediante il menù a tendina Output format.
Infine, è anche possibile esporre in output le righe che non presentano duplicati nel testo in input, attivando il flag Include counts of 1.
Il filtro Sort consente di ordinare, secondo un opportuno criterio, le righe del file di testo in input.
Esso richiede di specificare il tipo di ordinamento da applicare, mediante il campo Sort Type. Le opzioni disponibili sono:
✓ ANSI sort (case insensitive) segue l'ordine dei caratteri nella codifica ANSI locale, senza distinguere tra lettere maiuscole e lettere minuscole;
✓ ANSI sort (case sensitive) segue l'ordine dei caratteri nella codifica ANSI locale, in cui le lettere minuscole hanno codice inferiore alle corrispondenti lettere maiuscole;
✓ ASCII sort (case insensitive) segue l'ordine dei caratteri nella codifica ASCII, senza distinguere tra lettere maiuscole e lettere minuscole;
✓ ASCII sort (case sensitive) segue l'ordine dei caratteri nella codifica ASCII, in cui le lettere maiuscole hanno codici inferiori alle lettere maiuscole;
✓ Numeric sort, in caso ogni riga sia preceduta da un valore numerico decimale, ordina le righe in base a tale valore;
✓ Sort by length of line, ordina le righe in base alla loro lunghezza;
✓ Sort by date and time, in caso il testo contenga date e orari, ordina le righe in base a tali valori;
✓ Sort by date, in caso il testo contenga date, ordina le righe in base a tali valori;
✓ Sort by time, in caso il testo contenga orari, ordina le righe in base a tali valori.
Le opzioni Sort by date and time, Sort by date e Sort by time utilizzano il formato data/ora locale (i.e. europeo o anglosassone). |
Automaticamente questo filtro utilizza l'ordinamento in senso crescente. Per applicare un ordinamento in senso crescente è necessario attivare il flag Descending order.
Il confronto, alla base dell'ordinamento, può essere limitato ad una specifica porzione di riga, mediante i campi:
✓ Start Column, numero ordinale del carattere, all'interno della riga, da cui iniziare il confronto;
✓ Length, numero di caratteri da confrontare a partire dal carattere identificato dalla Start Column.
Inoltre, è possibile rimuovere eventuali righe duplicate, incontrate durante l'operazione di ordinamento, attivando il flag Remove duplicate lines.
Infine, è possibile specificare il numero massimo di megabyte, che il filtro può utilizzare per effettuare l'ordinamento, mediante il campo Maximum memory to use. Esso può assumere anche il valore zero. In questo caso il filtro può utilizzare tutta la memoria fisica disponibile, meno un margine di sicurezza di 30 MB.
Il filtro Merge (join) files, in caso l'input del sottostante Text Link sia una lista di file, consente di creare un unico testo dall'unione di due o più file in input. Il contenuto di ogni file viene semplicemente accodato al contenuto del file precedente, senza l'aggiunta di ulteriori caratteri.
Il filtro Secondary output filter permette di prendere il testo in input e di inviarlo in un nuovo file di testo. Esso richiede di specificare il percorso assoluto del file di destinazione nel campo File. In caso il file di destinazione esista già, esso viene sovrascritto. Per evitare la sovrascrittura di un file esistente, accodando nuovo testo a quello già presente, è sufficiente attivare il flag Appending to existing file.
Il filtro T-Filter consente di creare blocchi di sotto-filtri. Tali sotto filtri vengono eseguiti ed eventualmente salvati su un file di testo esterno, mediante un Secondary output filter, lasciando il testo in input invariato.
Il filtro PDF to Text consente la conversione di alcuni file PDF in file di testo.
Le capacità di conversione del filtro PDF to Text dipendono fortemente dalle procedure e dai parametri utilizzati nella creazione del file PDF in input. |