La classe Restrict contiene filtri che consentono di selezionare parti del testo in input sui quali applicare i propri sotto-filtri. Essi restituiscono in output l'intero testo in input, in cui le parti selezionate risultano modificate secondo la sequenza dei sotto-filtri associati.
Ogni filtro della classe Restrict richiede almeno un sotto-filtro, a cui passare il testo selezionato. |
Il filtro Line range seleziona le righe contenute in un determinato intervallo. Esso richiede di scegliere il tipo di intervallo, mediante le seguenti opzioni:
✓ line a .. line b seleziona tutte le righe tra la riga a e la riga b, comprese;
✓ b lines starting at line a seleziona b righe a partire dalla riga a, compresa;
✓ b lines starting at line END – a seleziona b righe a partire da a righe precedenti l'ultima riga del testo in input;
✓ line a .. line END – b seleziona tutte le righe comprese tra la riga a e b righe precedenti l'ultima riga del testo in input;
✓ line END – a .. line END – b rimuove tutte le righe comprese tra a righe e b righe precedenti l'ultima riga del testo in input.
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 righe precedenti l'ultima riga del testo in input parte da 0, ossia: ✓ l'ultima riga del testo in input corrisponde a line END – 0; ✓ la penultima riga del testo in input corrisponde a line END – 1; ✓ la terzultima riga del testo in input corrisponde a line END – 2 e così via. |
Il filtro Column Range consente di selezionare caratteri, compresi in un determinato intervallo di posizioni sulle righe del file di testo in input. Esso richiede di scegliere il tipo di intervallo, mediante le seguenti opzioni:
✓ 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 tutte le righe comprese 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. |
Il filtro Byte Range consente di rimuovere caratteri, compresi in un determinato intervallo di byte nelle righe del file di testo in input. Esso richiede di scegliere il tipo di intervallo, mediante le seguenti opzioni:
✓ Byte a .. Byte b seleziona tutti i caratteri tra il byte in posizione a e il byte in posizione b, compresi;
✓ b Bytes starting at Byte a seleziona i caratteri corrispondenti a b byte, calcolati a partire dal byte in posizione a, compreso;
✓ b Bytes starting at Byte END – a seleziona b i caratteri corrispondenti a b byte, calcolati a partire da a byte precedenti l'ultimo byte di una riga;
✓ Byte a .. Byte END – b seleziona tutti i caratteri compresi tra il byte in posizione a e b byte precedenti l'ultimo byte di una riga;
✓ Byte END – a .. Byte END – b seleziona tutti i caratteri compresi tra a byte e b byte precedenti l'ultimo byte 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 dei byte precedenti l'ultimo byte di una riga del testo in input parte da 0, ossia: ✓ l'ultimo byte corrisponde a Byte END – 0; ✓ il penultimo byte corrisponde a Byte END – 1; ✓ il terzultimo byte corrisponde a Byte END – 2 e così via. |
Il filtro Delimited fields permette di selezionare uno o più campi di un file a campi delimitati da uno specifico carattere. Questo filtro richiede di specificare:
✓ il tipo di carattere che delimita i singoli campi;
✓ il tipo di intervallo da cui selezionare i campi nelle singole righe del testo in input.
Il filtro Delimited fields supporta file con campi delimitati da:
✓ virgole, ossia i classici file CSV;
✓ tab;
✓ punti e virgola;
✓ pipe.
Tuttavia è possibile specificare ulteriori separatori personalizzati, mediante il campo Other.
Il tipo di intervallo di campi da selezionare può essere specificato mediante le seguenti opzioni:
✓ 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. |
In caso la prima riga del testo in input contenga le intestazioni dei campi, è possibile tenere traccia del numero di campi attesi in input, attivando il flag First Row contains Field Names. In questo modo il filtro è in grado di determinare se un campo incorpora eventuali caratteri di fine riga, estendendosi su più righe.
Infine è anche possibile personalizzare l'applicazione dei sotto-filtri associati, mediante alcuni flag.
Il flag Process fields individually permette di scegliere la modalità con cui i campi selezionati vengono processati dai singoli sotto-filtri. Se disattivo, l'insieme di campi selezionati viene considerato come un'unica stringa in input al sotto-filtro. Viceversa, se attivo i singoli campi selezionati sono considerati come stringhe distinte in input al sotto-filtro.
In questo secondo caso, risultano sezionabili anche i seguenti flag:
✓ Exclude column delimiter, se attivo, esclude il delimitatore di campo dal testo in input ai sotto-filtri associati;
✓ Exclude quotes (if present), se attivo, elimina eventuali virgolette dal testo in input ai sotto-filtri associati.
Il filtro Restrict to matching lines consente di selezionare le righe contenenti testo corrispondente ad una specifico pattern. Esso richiede di specificare, nell'omonimo campo, la regular expression corrispondente al pattern da cercare nel testo in input.
L'opzione Pattern type permette, invece, di selezionare il tipo di regular expression da utilizzare. Essa può assumere i valori:
✓ Pattern (perl), regular expression tipiche del linguaggio Perl;
✓ Pattern (egrep), regular expression tipiche dei linguaggi Linux e Unix;
✓ MSWord Pattern, regular expression tipiche dei campi di ricerca Windows.
Il confronto tra regular expression e testo in input può essere reso case insensitive attivando il flag Ignore Case. Altri flag consentono, invece, di specializzare l'output dell'applicazione del filtro:
✓ Output Count of matches espone in output anche il numero di occorrenze del pattern nel testo in input, corrispondente al numero di righe rimosse;
✓ Include line numbers associa ad ogni riga estratta il corrispondente numero di riga nel testo in input;
✓ UTF-8 Support converte il pattern da estrarre in formato UTF-8;
✓ Ignore Empty Matches ignora ogni occorrenza del pattern priva di testo.
Inoltre, in caso l'input del sottostante Text Link sia una lista di file, è possibile associare alle righe estratte il percorso assoluto del corrispondente file, attivando il flag Include file name.
Il filtro Restrict to lines NOT matching permette di selezionare le righe non contenenti testo corrispondente ad una specifico pattern. Esso si configura in modo analogo al filtro Restrict to matching lines, ma espone in output le sole righe che non contengono il pattern specificato.
Il filtro Blocks permette di suddividere il testo in input in blocchi di un numero prefissato di byte. Tali blocchi vengono sottoposti ai sotto-filtri associati, come singole stringhe distinte di testo. Questo filtro richiede di specificare il numero di byte da inserire in ogni blocco, mediante il campo Resctrict to blocks of this legth.
Il filtro Each line in turn permette di scomporre il testo in input nelle righe che lo compongono. Esse possono così essere processate dai sotto-filtri associati una alla volta.
Il filtro File name consente di passare ai sotto-filtri associati i soli percorsi assoluti dei file di testo, in input al Text link sottostante. In questo modo è possibile estrarre informazioni a contorno quali estensione e cartella di destinazione dei file.
Il filtro Restrict to Ansi files consente di selezionare, tra i file in input al Text link sottostante, i soli file in formato ANSI. In questo modo è possibile differenziare l'applicazione dei sotto-filtri associati in base al tipo di file in input.
Analogamente, i filtri di tipo Restrict to Unicode permettono di selezionare i soli file in formato Unicode. in particolare è possibile distinguere tra i seguenti formati:
✓ Unicode UTF8,
✓ Unicode UTF16,
✓ Unicode UTF32.
Il filtro Restrict to lines from list consente di selezionare nel testo in input le righe corrispondenti a una o più linee di testo. Esse possono essere:
✓ lette da un file di testo presente sul file system, selezionando l'opzione From File;
✓ specificate manualmente nell'apposito editor di testo, selezionando l'opzione From Text.
Le singole linee di testo, da cercare all'interno del testo in input, devono essere separate da un a capo. |
Infine, è anche possibile rendere la ricerca del testo case sensitive, attivando il flag Match Case.
Il filtro Restrict to lines NOT in list permette di selezionare le righe non corrispondenti a una o più linee di testo. Esso si configura in modo analogo al filtro Restrict to lines from list, ma restituisce ai sotto-filtri associati le sole righe che non contengono il testo specificato.
Il filtro Extract lines matching pattern list consente di selezionare nel testo in input le righe corrispondenti a uno o più pattern. Essi possono essere:
✓ contenuti in un file di testo presente sul file system, selezionando l'opzione From File;
✓ specificati manualmente nell'apposito editor di testo, selezionando l'opzione From Text.
I singoli pattern, da ricercare all'interno del testo in input, devono essere: ✓ specificati mediante regular expression del linguaggio Perl; ✓ separati da un a capo. |
Infine, è anche possibile rendere la ricerca dei pattern all'interno del testo in input case sensitive, attivando il flag Match Case.
Il filtro Restrict to lines NOT matching pattern list permette di selezionare le righe non corrispondenti a uno o più pattern. Esso si configura in modo analogo al filtro Restrict to lines matching pattern list, ma restituisce ai sotto-filtri associati le sole righe che non contengono il pattern specificato.
Il filtro Restrict to filenames matching pattern list consente selezionare i soli percorsi assoluti dei file di testo, in input al Text link sottostante, che corrispondono a uno o più pattern. Essi possono essere:
✓ contenuti in un file di testo presente sul file system, selezionando l'opzione From File;
✓ specificati manualmente nell'apposito editor di testo, selezionando l'opzione From Text.
I singoli pattern, da ricercare tra i percorsi assoluti dei file in input, devono essere: ✓ specificati mediante regular expression del linguaggio Perl; ✓ separati da un a capo. |
Il filtro Restrict to filenames NOT matching pattern list permette di selezionare i soli percorsi assoluti dei file di testo, in input al Text link sottostante, non corrispondenti a uno o più pattern. Esso si configura in modo analogo al filtro Restrict to filenames matching pattern list, ma restituisce ai sotto-filtri associati i soli percorsi assoluti che non contengono il pattern specificato.
Processare mediante sotto-filtri il percorso assoluto di un file permette di estrarre informazioni a contorno, quali estensione e cartella di destinazione dei file. |
Il filtro Restrict pattern permette di selezionare uno specifico pattern nel testo in input. Esso richiede di specificare:
✓ il tipo di pattern, mediante l'opzione Find type;
✓ il pattern da cercare e selezionare, nell'apposito editor di testo.
L'opzione Find type può assumere i valori:
✓ Exact ricerca e seleziona tutte le occorrenze che corrispondono esattamente al testo specificato;
✓ Sounds like ricerca e seleziona tutte le occorrenze la cui pronuncia assomiglia al testo specificato, ma che si differenziano per alcuni caratteri;
✓ Edit distance ricerca e seleziona tutte le occorrenze che possono essere ricondotte al testo specificato mediante un numero prefissato di operazioni (e.g. sostituzione o cancellazione di un carattere);
✓ Pattern (perl) ricerca e seleziona tutte le occorrenze che corrispondono ad una regular expression del linguaggio Perl;
✓ MSWord Pattern ricerca e seleziona tutte le occorrenze che corrispondono ad una regular expression del linguaggio Windows;
✓ Unicode (UTF-16LE) ricerca e seleziona tutte le occorrenze che corrispondono esattamente ad un testo in formato Unicode;
✓ Unicode pattern (UTF-16LE) ricerca e seleziona tutte le occorrenze che corrispondono ad un pattern in formato Unicode.
I filtri Unicode e Unicode pattern richiedono che il testo in input abbia formato UTF-16LE. |
In caso il Find type sia Exact è possibile personalizzare la ricerca del pattern mediante i flag:
✓ Match case, se attivo, rende la ricerca del pattern case sensitive;
✓ Find whole words only, se attivo, ignora eventuali occorrenze del pattern all'interno di parole più lunghe.
In caso il Find type sia Edit distance è necessario specificare il numero massimo di operazioni, con cui è possibile ricondurre una parola al pattern da eliminare, mediante l'opzione Edit distance threshold. Inoltre è anche possibile rendere questo tipo di ricerca case sensitive, attivando il flag Match case.
In caso il Find type sia Pattern (perl) è possibile personalizzare la ricerca del pattern mediante le opzioni:
✓ Match case consente di rendere la ricerca del pattern case sensitive;
✓ Find whole words only permette di ignorare eventuali occorrenze del pattern all'interno di parole più lunghe;
✓ Default match length consente di impostare quale tipo di stringa, corrispondente al pattern ricercato, restituire in output;
✓ Max match size permette di impostare la lunghezza massima ammessa per la stringa corrispondente al pattern cercato;
✓ Allow comments in pattern permette di includere, nel pattern da cercare e rimuovere, anche eventuali commenti tipici del linguaggio Perl;
✓ '.' matches newline consente di considerare il punto come metacarattere corrispondente a qualsiasi carattere, compreso l'a capo;
✓ Enable UTF-8 support permette di abilitare la ricerca del pattern anche su dati con codifica UTF-8.
L'opzione Default match length può assumere i valori:
✓ Shortest match restituisce la più breve stringa, corrispondente al pattern ricercato;
✓ Longest match restituisce la più lunga stringa, corrispondente al pattern ricercato.
In caso il Find type sia MSWord Pattern, Unicode (UTF-16LE) e Unicode pattern (UTF-16LE) è possibile personalizzare la ricerca del pattern mediante le opzioni:
✓ Match case consente di rendere la ricerca del pattern case sensitive;
✓ Find whole words only permette di ignorare eventuali occorrenze del pattern all'interno di parole più lunghe;
✓ Max match size consente di impostare la lunghezza massima ammessa per la stringa corrispondente al pattern cercato;
Inoltre è possibile scegliere quali parti del pattern selezionato restituire ai sotto-filtri associati, mediante un apposito menù a tendina. Esso espone le seguenti opzioni:
✓ Send matching text to subfilter restituisce il solo testo corrispondente al pattern specificato;
✓ Send non matching text to subfilter restituisce il solo testo non corrispondente al pattern specificato;
✓ Send variable n to subfilter restituisce il solo testo corrispondente al pattern contenente l'ennesima variabile.
L'opzione Send variable n to subfilter può essere utilizzata solo in caso nel pattern siano definite variabili, mediante l'utilizzo di parentesi tonde. In particolare il numero ordinale n può variare da 1 a 9. |
Il filtro Block of Lines permette di suddividere il testo in input in blocchi di un numero prefissato di righe. Tali blocchi vengono sottoposti ai sotto-filtri associati, come singole stringhe distinte di testo. Questo filtro richiede di specificare il numero di righe da inserire in ogni blocco, mediante il campo Resctrict to block of line.
Il filtro HTML or XML element or attribute consente di selezionare porzioni di un testo in formato HTML o XML. In particolare è possibile selezionare il testo:
✓ contenuto in uno specifico tag (opzione Resctrict to Tag);
✓ associato ad un particolare attributo (opzione Resctrict to Attribute);
✓ compreso tra due specifici tag (opzione Resctrict to between Tags).
Per tag intendiamo la porzione di testo XML o HTML compresa tra parentesi angolari (i.e. <>). |
In caso di Resctrict to Tag, è necessario specificare il nome del tag, da cui selezionare il testo desiderato, mediante il campo Tag Name. Per includere nella selezione anche il nome tag, oltre al testo in esso contenuto, il flag Include the entire tag deve essere attivato.
In caso di Resctrict to Attribute, è necessario specificare il nome dell'attributo, da cui selezionare il testo, mediante il campo Attribute Name. Inoltre, è anche possibile selezionare:
✓ il nome dell'attributo, oltre al testo ad esso associato, attivando il flag Include the attribute name;
✓ le virgolette in cui è contenuto il testo associato all'attributo, attivando il flag Include the quotes.
In caso di Resctrict to between Tags, è necessario specificare i tag, tra i quali selezionare il testo, mediante i campi Start Tag Name e End Tag Name. Inoltre, è anche possibile selezionare i due tag specificati, oltre al testo tra essi contenuto, attivando il flag Include the start and end tag.
In caso i tag richiesti dall'opzione Restrict to between Tags siano tag di chiusura del tipo </TagName>, è necessario includere il carattere slash nel nome del tag, specificato nei campi Start Tag Name e End Tag Name. |
Infine, per ogni opzione descritta, è possibile:
✓ rendere la ricerca nel testo di tag e attributi case sensitive, attivando il flag Match case;
✓ modificare il numero massimo di byte che il filtro può restituire ai sotto-filtri associati, mediante il campo Maximum match size.