Jump to content
DiamondStyle

Remover espaços em braco de uma String ?

Recommended Posts

DiamondStyle

Olá pessoal, 

Eu gostaria de saber se alguém sabe como eu faço para retirar os espaços no meio da string. Ex: Nome: \"Alberto Silva\", e o programa deve retornar \"AlbertoSilva\". 

Share this post


Link to post
Share on other sites
nunopicado

Há várias formas de conseguires isso, sendo que o compilador que estás a usar também influencia quais podes usar...

Por exemplo, se o teu compilador suportar a função StringReplace, podes fazer simplesmente isto:

Nome := StringReplace(Nome, ' ', '', [rfReplaceAll]);

Outra forma simples seria com recurso a um ciclo:

while Pos(' ', Nome) > 0 do
  Delete(Result, Pos(' ', Nome), 1);

 


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
nunopicado
3 minutos atrás, DiamondStyle disse:

nuno, estou a usar o pascalzim

Ohhh, os meus pêsames! 
:P

Acho que a primeira forma não deve funcionar nessa coisa...
A segunda, em principio, não falha.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
thoga31

Além da sugestão dada pelo @nunopicado, importa ter em conta também o que te é autorizado utilizar (estou a considerar que este é um exercício académico).

Segue uma versão que não recorre às funções Pos e Delete:

program test;

function RemSpaces(s : String) : String;
var i : Integer;
begin
    RemSpaces := '';
    for i := 1 to Length(s) do
        if s[i] <> ' ' then
            RemSpaces := RemSpaces + s[i];
end;

begin
    writeln(RemSpaces('Exemplo de uma string.'));
end.

 


Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado

Sim, essa é outra das muitas formas de o fazer...
Pessoalmente nunca passei cartão 'ao que podia usar'. A não ser que lá dissesse especificamente 'tem de usar isto' ou 'não pode usar aquilo', eu usava o que me parecesse mais eficaz. 
Mas se o @DiamondStyle achar que é o caso, pode ter essa atenção.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.