none
split com ponto e vírgula mais espaço junto... RRS feed

  • Pergunta

  • Olá a todos.

     

    Como posso usar um split em um textbox usando como referência um "; " (ponto e vírguma mais espaço) ?

    Eu tenho o seguinte texto:

    nome@email.com; outronome@email.com; nome@email.com

    Eu preciso dar um split nessas informações...Já tentei usando "; " , ou Chr(59) & Chr(32) mas sempre ele dá o split somente no ponto e vírgula, o espaçõ vem com o email...

    segunda-feira, 2 de agosto de 2010 20:29

Respostas

  • Bisewski,

    Fiz um exemplo simples utilizando o SPLIT e o TRIM .

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
        Dim strCompleta As String = "nome@email.com; outronome@email.com; nome2@email.com"
    
        Dim matriz() As String
    
        Dim j As Integer
    
        matriz = strCompleta.Split(";")
    
        For j = 0 To matriz.GetUpperBound(0)
    
          matriz(j) = matriz(j).Trim
          ListBox1.Items.Add(matriz(j))
    
        Next
    
    
    
      End Sub
    

    att,

    Fernanda


    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    quarta-feira, 4 de agosto de 2010 14:01
    Moderador

Todas as Respostas

  • boas, e qual o problema do espaço?
    espero ter ajudado.
    segunda-feira, 2 de agosto de 2010 20:35
  • veja se ajuda:

     res=txt.Split(new char[]{';',':'});


    espero ter ajudado.
    segunda-feira, 2 de agosto de 2010 20:38
  • É bem simples, fiz um sistema de histórico de emails, como um auto-preencher.

    Quando escrevo no campo Para: do email ele me mostra sugestões de emails com o mesmo nome.

    Tenho que usar o ; e um espaço por que se não dá confusão entre os destinatários.

    Então ele não pode gravar numa lista o email com um espaço na frente, se não ele só vai me sugerir se primeiro eu ter um espaço...

    Por isso, seria muito bom se eu conseguisse dar um split usando o espaço por que eu retiraria ele do email, tendo somente o endereço puro...

    segunda-feira, 2 de agosto de 2010 20:39
  • agora entendi. experimentaste a minha sugestão?

    espero ter ajudado.
    segunda-feira, 2 de agosto de 2010 20:44
  • Fera, não consegui usando sua dica, mas muito obrigado pela ajuda, foi quase instantânea...Obrigado mesmo...

    Fiz o seguinte:

    If paramail.IndexOf(Chr(32)) >= 0 Then
                                    paramail = paramail.Split(" ")(1).ToString

     

    Assim tenho o email limpo, sem espaços, ou seja, estou dando dois split, primeiro um com ; e outro com espaço....

    segunda-feira, 2 de agosto de 2010 20:57
  • entao o pk do espaço a seguir ao ; e nao apenas o ; ?

    espero ter ajudado.
    segunda-feira, 2 de agosto de 2010 20:59
  • Bisewski,

    Fiz um exemplo simples utilizando o SPLIT e o TRIM .

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
        Dim strCompleta As String = "nome@email.com; outronome@email.com; nome2@email.com"
    
        Dim matriz() As String
    
        Dim j As Integer
    
        matriz = strCompleta.Split(";")
    
        For j = 0 To matriz.GetUpperBound(0)
    
          matriz(j) = matriz(j).Trim
          ListBox1.Items.Add(matriz(j))
    
        Next
    
    
    
      End Sub
    

    att,

    Fernanda


    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    quarta-feira, 4 de agosto de 2010 14:01
    Moderador
  • Obrigado Fernanda e Luis.

     

    Com relação ao espaço é por que acontece um problema que não tenho muita explicação. Ao enviar o email, se no campo Para: tiver mais de um email e eles estiverem separados apenas por uma ";", quem recebe o email, fica com os nomes trocados, por exemplo:

    Enviei email para o alexandre@mail.com;luis@mail.com

    Quando o Alexandre recebe o email, vem assim:

    Nome:luis@mail.com  -  Email:alexandre@mail.com

    VEja que o nome e o email são trocados.

    A solução que encontrei para contornar esse problema foi separar os email por um ";" e um espaço.

    alexandre@mail.com; luis@mail.com

    Nome:alexandre@mail.com  -  Email:alexandre@mail.com

    Se você já tem o contato cadastrado, aí vem com o nome dele:

    Nome: Alexandre/Representante   Email: alexandre@mail.com

     

    Fernanda, ficou mais simples do seu jeito, obrigado, já implantei e deu certo.

    Grato

     

    quarta-feira, 4 de agosto de 2010 14:39