O que queremos é uma função que retire espaços ao redor de uma string.
Neste caso devemos processar a string usando funções já prontas em Prisma da biblioteca string.
Usaremos a função string.corte para percorrer cada caractere e ao chegar em um caractere que não seja espaço marcar a posição com uma variável, do inicio para o final e depois do final para o inicio. Utilizaremos as variáveis ini (inicio) e final para marcar o início e fim da string excluindo os espaços ao redor se houver.
Depois basta cortar a string nestas posições marcadas pelas variáveis.
Veja o código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
//apare string (trim) string em prisma str = ' ola mundo em Prisma! ';//string teste. funcao apare(str) str = str ou ''; se tipo(str) <> 'string' entao erro("Tipo incorreto para funcao apare, espera-se uma strig"); fim local strcorte = string.corte; //eficiencia rapidez por meio de var local local ini = 1; local final = #str; //laço para inicio da string sem espacos para i = 1 , #str inicio local letra = strcorte(str, i , i); se letra <> ' ' entao ini = i; //se chega em uma letra marca o inicio e sai do laço quebre; //sai do laco. fim //poe(letra); fim//fim para //laco para final da string excluindo espaços para i = #str, 1, -1 inicio //-1 decrementa do final para o começo da string local letra = strcorte(str, i , i); se letra <> ' ' entao final = i; quebre; fim //poe (letra); fim // agora cortando a string no tamanho exato sem os espaços ao redor. retorne strcorte(str , ini, final);//retornando a str pronta fim //testando, a str deve sair com os <<>> colados no inicio e fim sem espaços: imprima( '<<' .. apare(str) .. '>>' ); |
Obs.: como uma função em Prisma também é uma variável, podemos reatribuir uma função em outra variável, é isto que fizemos em “local strcorte = string.corte”
e assim strcorte passa a ser uma função local, isso dá mais rapidez na execução do programa.
Bem, é isso, bons estudos no código. Use a vontade, modifique, aprimore e mande-nos um feedback.