none
Substring c# RRS feed

  • Pergunta

  • Olá. Gostaria de saber como eu pego as iniciais de um nome em C#

    Exemplo: string = "joao da silva sales"

    string resultado = "jss"

    obrigado!

    quinta-feira, 1 de outubro de 2015 19:49

Respostas

  • Voce pode fazer um split separando a string contendo o nome pelo spaço e descartar a parte que contem 2 caracteres que é o "da" ou "dos".

    Exemplo:

    string nome: "Usuario Anibal da Silva";
    
    //Aqui faço um split separando por espaços
    string[] n = nome.Split(' ');
    
    //Armazenara as iniciais das palavars 
    string sigla="";
    //laço para pegar apenas as primeiras letras do nome
    
    for(int i=0;i<n.Lenght;i++)
     {
       //Dispenso a palavras menores que 3 caracteres
       if(n[i].Length>3)
         {
            //Pego somente a primeira da palavra
            sigla=sigla+n[i].Substring(0,1);
         }
     }
    Obs: Não testei pois não estou em meu computador ,mais deve funcionar.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel



    • Sugerido como Resposta welington jrModerator quinta-feira, 1 de outubro de 2015 21:09
    • Editado Mr. GMSOFT quinta-feira, 1 de outubro de 2015 21:38
    • Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 12:51
    quinta-feira, 1 de outubro de 2015 20:00
  • Elooá,

    o exemplo do Mr.GMSOFT funciona perfeitamente, porem só tem que corrigir o "lenght" com L maiúsculo "Length" e fechar o parenteses do for ")" eu testei aqui e funcionou.

    fica a dica...

    Att.

    Thyago



    • Editado Thyago Gonçalves quinta-feira, 1 de outubro de 2015 20:39
    • Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 12:51
    quinta-feira, 1 de outubro de 2015 20:24

Todas as Respostas

  • Voce pode fazer um split separando a string contendo o nome pelo spaço e descartar a parte que contem 2 caracteres que é o "da" ou "dos".

    Exemplo:

    string nome: "Usuario Anibal da Silva";
    
    //Aqui faço um split separando por espaços
    string[] n = nome.Split(' ');
    
    //Armazenara as iniciais das palavars 
    string sigla="";
    //laço para pegar apenas as primeiras letras do nome
    
    for(int i=0;i<n.Lenght;i++)
     {
       //Dispenso a palavras menores que 3 caracteres
       if(n[i].Length>3)
         {
            //Pego somente a primeira da palavra
            sigla=sigla+n[i].Substring(0,1);
         }
     }
    Obs: Não testei pois não estou em meu computador ,mais deve funcionar.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel



    • Sugerido como Resposta welington jrModerator quinta-feira, 1 de outubro de 2015 21:09
    • Editado Mr. GMSOFT quinta-feira, 1 de outubro de 2015 21:38
    • Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 12:51
    quinta-feira, 1 de outubro de 2015 20:00
  • Elooá,

    o exemplo do Mr.GMSOFT funciona perfeitamente, porem só tem que corrigir o "lenght" com L maiúsculo "Length" e fechar o parenteses do for ")" eu testei aqui e funcionou.

    fica a dica...

    Att.

    Thyago



    • Editado Thyago Gonçalves quinta-feira, 1 de outubro de 2015 20:39
    • Marcado como Resposta Marcos SJ sexta-feira, 2 de outubro de 2015 12:51
    quinta-feira, 1 de outubro de 2015 20:24
  • Thyago Gonçalves valeu fiz a correção e como não estava em meu computador e sim no celular e fiz rapido sem verificar se estava faltando alguma coisa kkk.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    quinta-feira, 1 de outubro de 2015 21:41
  • Mr.GMSOFT imaginei... rs  estou aprendendo muito por aqui... você já respondeu varias duvidas minhas também... 

    abs

    Thyago

    sexta-feira, 2 de outubro de 2015 11:37
  • Bom dia Elooá,

    Obrigado por sua participação no Fórum. Caso ainda tenha alguma dúvida sobre o conteúdo postado como resposta por gentileza, nos informe para que possamos auxiliar.

    Obrigado Mr. GMSOFT e Thyago Gonçalves pela colaboração.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 2 de outubro de 2015 12:55
  • ok, obrigado !
    sexta-feira, 2 de outubro de 2015 16:52
  • Obrigado. Funcionou sim
    sexta-feira, 2 de outubro de 2015 16:52