A substring de COBOL é uma característica poderosa da linguagem de programação COBOL que permite aos programadores extrair facilmente partes específicas de uma série de dados. Essa substring pode ser usada para executar várias operações, como manipulação de string, correspondência de padrões, cálculos e análise de dados. A substring COBOL pode ser usada para tornar os programas mais eficientes, flexíveis e sustentáveis. A substring de COBOL é uma função interna da linguagem COBOL e é usada para extrair uma substring de uma determinada string.
O que a função de substrato faz em COBOL?
O COBOL oferece a função de substrato para extrair uma parte de uma corda, fornecendo a sequência de origem, a posição inicial e o comprimento da substring desejada. Essa funcionalidade permite manuseio eficiente de dados de string na programação COBOL.
A função de substrato extrai uma parte de uma string a partir do enésimo caractere e com um comprimento especificado pelo usuário. Se a substring extraída for de um comprimento menor que o especificado, é acolchoado com o personagem desejado.
Se o valor de n exceder o comprimento da string de entrada, o resultado obtido da função de substrato consiste em caracteres de bloco.
Se você não fornecer um valor para o comprimento, a função retornará o restante da string da posição inicial. Por padrão, o personagem PAD que é usado é um espaço em branco.
Sintaxe:
Substr (fonte-str, posição inicial, substr-len)
A corda de origem é a string da qual você deseja extrair a substring. A "posição inicial" é o índice de partida da substring no "fonte-str". E "substr-len" é o comprimento da substring que você deseja extrair.
Exemplo de programação 1:
Divisão de Identificação.
Programa-ID. Exemplo de substring.
Divisão de dados.
Seção de armazenamento de trabalho.
01 PIC X (20) Valor 'Hello World'.
01 Pic X (5).
Divisão de procedimentos.
Principal-lógico.
String fontes delimitada por "em cordas finais.
Exibir string final: 'Final String.
Pare de corrida.
Saída:
Papan@ubuntu: ~/desktop $ cobc -xjf 1.cbl
String final: Olá
Explicação:
Neste programa, definimos uma série de fonte de comprimento 20 e uma sequência final de comprimento 5. Inicializamos a string de origem com o valor "Hello World". Em seguida, usamos a função String para extrair a primeira palavra "Hello", da string de origem e armazená -la na string final. Em seguida, exibimos a string final usando a instrução de exibição.
Exemplo de programação 2:
Divisão de Identificação.
Programa-ID. Substringas.
Divisão de dados.
Seção de armazenamento de trabalho.
01 PIC X (20) Valor 'ABCDE'.
01 Pic 9 (2) Valor 1.
01 PIC 9 (2) Valor 1.
01 Pic 9 (2) do índice final (2).
01 Substring Pic X (20).
Divisão de procedimentos.
Principal-lógico.
Executar vários substring-len de 1 por 1
Até substring-len> 20
Executar um índice de início variado de 1 por 1
Até o início-índice + substring-len-1> 20
Compute end-index = start-index + substring-len-1
String fontes-string (INDEX START: Substring-len)
Delimitado por tamanho em sub-cordão
Exibir 'Substring:' Substring
Final final
Final final
Pare de corrida.
Saída:
Papan@ubuntu: ~/desktop/cbl $ cobc -xjf 2.cbl
Substring: ABCDE
Substring: BCDE
Substring: CDE
Substring: de
Substring: e
Explicação:
Este programa gera todas as substâncias possíveis de uma determinada sequência de origem usando dois loops aninhados para iterar em todos os comprimentos possíveis da substring e posições iniciais. Ele armazena a sequência de origem e o comprimento da substring na linha de origem e na substring-len, respectivamente. Em seguida, ele usa o índice de início e o índice final para acompanhar as posições de partida e final atuais. O programa extrai a substring atual usando a instrução String e a função da substring e a exibe usando a instrução de exibição.
Exemplo de programação 3:
Divisão de Identificação.
Programa-ID. Programa iniciais.
Divisão de dados.
Seção de armazenamento de trabalho.
01 WS-FULL-NAME PIC x (30) Valor 'Subash Chandra Bose'.
01 WS-primeiro-NAME PIC X (10).
01 WS-Middle-Name Pic X (10).
01 WS-Surnome Pic X (10).
01 WS-DOT PIC X VALOR '.'.
Divisão de procedimentos.
Principal-lógico.
Exibir 'Nome de entrada:' WS-FULL-NAME.
Calcule WS-primeiro-name = Substring de função (WS-Full-Name, 1, Index (WS-Full-Name, ")-1).
Calcule WS-Middle-name = Substring de função (WS-FULL-NAME, INDEX (WS-FULL-NAME ") + 1, INDEX (WS-FULL-NAME", INDEX (WS-FULL-NAME ") + 1) - ÍNDICE (WS -FULL -NAME, ") - 1).
Compute ws-snorname = Substring de função (WS-FULL-NAME, INDEX (WS-FULL-NAME ", Last-Index (WS-Full-Name,")) + 1).
Exibir 'Saída:' WS-primeiro-NAM.
Pare de corrida.
Saída:
Papan@ubuntu: ~/desktop/cbl $ cobc -xjf 3.cbl
Nome de entrada: Subash Chandra Bose
Saída: s.C. Bose
Explicação:
Neste programa, a variável WS-Full-Name detém o nome completo da pessoa. As variáveis WS-Primar Nome, WS-Middle-Name e WS-Surnames mantêm o primeiro nome, nome do meio e sobrenome da pessoa, respectivamente. As funções de índice e último índice são usadas para encontrar as posições do primeiro e dos últimos espaços na variável WS-Full-Name. Em seguida, imprimimos as iniciais do primeiro e do nome do meio, seguido pelo sobrenome, separado por um período.
Conclusão
Exploramos a função de substrato em COBOL e fornecemos alguns exemplos sobre como usá -lo em aplicações práticas. A função de substrato é um recurso útil em aplicativos de negócios, onde os dados geralmente precisam ser manipulados ou transformados. Com a função de substrato, os programadores podem extrair facilmente as substâncias de seqüências maiores e usá -las para processamento adicional. Felizmente, este artigo forneceu uma introdução útil à função de substrato em COBOL e demonstrou adequadamente alguns de seus exemplos práticos.