Você está aqui: LISP ::: Dicas & Truques ::: Strings e Caracteres |
Como quebrar uma string em suas partes em LISP usando uma função personalizadaQuantidade de visualizações: 332 vezes |
Em várias situações, principalmente quando estamos lendo arquivos CSV em LISP, nós precisamos separar uma frase ou texto em suas partes, ou seja, explodir ela usando um caractere como separador. As linguagens LISP, Common Lisp e AutoLISP não fornecem uma função pronta para esta tarefa, nos forçando a recorrer a códigos de terceiros. Porém, não é difícil fazer a nossa própria implementação de uma função quebrar_string() em LISP. E é isso que vou demonstrar nessa dica. A função apresentada abaixo recebe uma frase ou texto e um caractere que será usado como delimitador para separar a string em suas partes individuais. O retorno da função é uma lista. Eis o código LISP completo para o exemplo: ; Função que recebe uma frase ou texto e um caractere ; e quebra (separa, explode) a frase ou texto usando ; o caractere informado e retorna uma lista de ; palavras (defun quebrar_string(texto caractere) (loop for i = 0 then (1+ j) as j = (position (coerce caractere 'character) texto :start i) collect (subseq texto i j) while j) ) ; Esta é a função principal (defun principal() ; variáveis usadas no exemplo (let ((frase)(caractere)(partes)) ; vamos criar a frase que será quebrada em partes (setq frase "Gosto de programar em LISP") ; agora vamos declarar o caractere que será usado ; como separador. Aqui vou usar o espaço (setq caractere " ") ; agora obtemos as partes da string Ao executar este código LISP nós teremos o seguinte resultado: A string foi quebrada em 5 partes As partes da string são: Gosto de programar em LISP |
![]() |
Veja mais Dicas e truques de LISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |