La sottostringa Cobol è una potente caratteristica del linguaggio di programmazione COBOL che consente ai programmatori di estrarre facilmente parti specifiche di una stringa di dati. Questa sottostringa può essere utilizzata per eseguire varie operazioni come manipolazione delle stringhe, corrispondenza dei pattern, calcoli e analisi dei dati. La sottostringa COBOL può essere utilizzata per rendere i programmi più efficienti, flessibili e gestibili. La sottostringa COBOL è una funzione integrata del linguaggio Cobol e viene utilizzata per estrarre una sottostringa da una determinata stringa.
Cosa fa la funzione substr in cobol?
Cobol offre la funzione substr per estrarre una parte di una stringa fornendo la stringa di origine, la posizione iniziale e la lunghezza della sottostringa desiderata. Questa funzionalità consente una gestione efficiente dei dati di stringa nella programmazione Cobol.
La funzione substr estrae una parte di una stringa a partire dall'ennesimo carattere e con una lunghezza specificata dall'utente. Se la sottostringa estratta è di una lunghezza inferiore a quella specificata, è imbottita con il carattere desiderato.
Se il valore di n supera la lunghezza della stringa di input, il risultato ottenuto dalla funzione substr è costituito da caratteri pad.
Se non si fornisce un valore per la lunghezza, la funzione restituisce il resto della stringa dalla posizione iniziale. Per impostazione predefinita, il carattere del pad che viene utilizzato è uno spazio vuoto.
Sintassi:
Substr (Source-Str, Start-Position, Sub-Len)
La stringa di origine è la stringa da cui si desidera estrarre la sottostringa. La "posizione di avvio" è l'indice iniziale della sottostringa nel "Source-STR". E "sub-len" è la lunghezza della sottostringa che si desidera estrarre.
Esempio di programmazione 1:
Divisione di identificazione.
Programma-id. Esempio di sottostring.
Divisione dati.
Sezione di lavoro di lavoro.
01 Source-String Pic X (20) Valore 'Hello World'.
01 Final String Pic X (5).
Divisione procedura.
Logico principale.
String Source-String delimitato da "In Final String.
Visualizza la stringa finale: 'Final String.
Smettere di correre.
Produzione:
papan@ubuntu: ~/desktop $ cobc -xjf 1.CBL
String finale: ciao
Spiegazione:
In questo programma, definiamo una stringa di origine di lunghezza 20 e una stringa finale di lunghezza 5. Inizializziamo la stringa di origine con il valore "Hello World". Quindi utilizziamo la funzione stringa per estrarre la prima parola, "ciao", dalla stringa di origine e archiviarla nella stringa finale. Visualizziamo quindi la stringa finale usando l'istruzione display.
Esempio di programmazione 2:
Divisione di identificazione.
Programma-id. Sottostringhe.
Divisione dati.
Sezione di lavoro di lavoro.
01 FORNITURA PIC X (20) Valore 'ABCDE'.
01 Substring-Len Pic 9 (2) Valore 1.
01 Start-Index Pic 9 (2) Valore 1.
01 end-indice pic 9 (2).
01 Substring Pic X (20).
Divisione procedura.
Logico principale.
Eseguire la vazione di sottostringa da 1 per 1
Fino a sottostring-Len> 20
Eseguire un indice iniziale variabile da 1 per 1
Fino a Start-Index + Substring-Len-1> 20
Calcola End-Index = Start-Index + Substring-Len-1
String Source-String (Start-Index: Substring-Len)
Delimitato per dimensione in sotto-corda
Visualizza la sottostringa: "sotto-corda
End-Porform
End-Porform
Smettere di correre.
Produzione:
papan@ubuntu: ~/desktop/cbl $ cobc -xjf 2.CBL
Substring: ABCDE
Substring: BCDE
Substring: CDE
Sottostringa: de
Sottostringa: e
Spiegazione:
Questo programma genera tutte le possibili sottostringhe di una determinata stringa di origine utilizzando due loop nidificati per iterare su tutte le possibili lunghezze di sottostringa e posizioni di partenza. Memorizza la stringa di origine e la lunghezza della sottostringa in stretta di origine e sotto-len, rispettivamente. Quindi, utilizza l'indice start e l'indice finale per tenere traccia delle attuali posizioni di avvio e finale. Il programma estrae quindi la sottostringa corrente utilizzando l'istruzione stringa e la funzione di sottostringo e la visualizza utilizzando l'istruzione Display.
Esempio di programmazione 3:
Divisione di identificazione.
Programma-id. Programma iniziale.
Divisione dati.
Sezione di lavoro di lavoro.
01 WS-Full-Name Pic X (30) Valore 'Subash Chandra Bose'.
01 WS-First-Name Pic X (10).
01 WS-Middle-Name Pic X (10).
01 WS-S-Upame Pic X (10).
01 WS-Dot Pic X Value '.'.
Divisione procedura.
Logico principale.
Visualizza 'Nome input:' ws-full-name.
Calcola WS-First-Name = Function Substring (WS-Full-Name, 1, indice (WS-full-name, ")-1).
Calcola WS-Middle-Name = Function Substring (WS-Full-Name, Index (WS-Full-Name, ") + 1, indice (WS-full-name,", indice (ws-full-name, ") + 1) - indice (ws -full -name, ") - 1).
Calcola WS-S-Surname = Function Substring (WS-Full-Name, Index (WS-Full-Name, ", Last-Index (WS-Full-Name,")) + 1).
Display 'output:' WS-First-Name (1: 1) WS-Dot WS-Middle-Name (1: 1) WS-Dot WS-S-S-S-S-S-S-S-.
Smettere di correre.
Produzione:
papan@ubuntu: ~/desktop/cbl $ cobc -xjf 3.CBL
Nome input: Subash Chandra Bose
Output: s.C. Bose
Spiegazione:
In questo programma, la variabile WS-Full-Name contiene il nome completo della persona. Le variabili WS-First-Name, WS-Middle-Name e WS-S-Upame contengono rispettivamente il nome, il secondo nome e il cognome della persona. L'indice e le funzioni dell'ultimo indice vengono utilizzate per trovare le posizioni del primo e degli ultimi spazi nella variabile WS-Full-Name. Quindi, stampiamo le iniziali del primo e del secondo nome, seguite dal cognome, separate da un periodo.
Conclusione
Abbiamo esplorato la funzione substr in COBOL e fornito alcuni esempi su come usarla in applicazioni pratiche. La funzione substr è una funzionalità utile nelle applicazioni aziendali in cui i dati devono spesso essere manipolati o trasformati. Con la funzione substr, i programmatori possono facilmente estrarre i sottostringi da stringhe più grandi e utilizzarli per ulteriori elaborazioni. Speriamo che questo articolo abbia fornito un'utile introduzione alla funzione substr in Cobol e ha dimostrato correttamente alcuni dei suoi esempi pratici.