none
Como quebrar linha quando encontrar um caracter identificador na string? RRS feed

  • Pergunta

  • Preciso quebrar linha na string quando encontrar um caracter identificador, por exempo ":".

    Estou carregando a string com um arquivo de texto.

    sábado, 9 de fevereiro de 2013 22:45

Respostas

  • Eric,

    Você pode usar do método Replace() e trocar ":" por "\n". "\n" é carácter que representa a quebra de linha (line feed). Exemplo de código:

    string meuTexto = "Oi:meu:nome:é:vitor";
    
    meutextBox.Text = meuTexto.Replace(":","\n");


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Afonso Fernandes domingo, 10 de fevereiro de 2013 00:33
    • Marcado como Resposta ERIC BAUMBACH domingo, 10 de fevereiro de 2013 19:35
    domingo, 10 de fevereiro de 2013 00:03
  • o exemplo que o Vitor postou é perfeito, e se quizer manter o modo mais simples, ainda é com o replace:

    string meuTexto = "Oi:meu:nome:é:vitor"; meutextBox.Text = meuTexto.Replace(":",":\n");

    //ou

    meutextBox.Text = meuTexto.Replace(":","\n:");
    • Marcado como Resposta ERIC BAUMBACH domingo, 10 de fevereiro de 2013 19:35
    domingo, 10 de fevereiro de 2013 01:27

Todas as Respostas

  • Eric,

    Você pode usar do método Replace() e trocar ":" por "\n". "\n" é carácter que representa a quebra de linha (line feed). Exemplo de código:

    string meuTexto = "Oi:meu:nome:é:vitor";
    
    meutextBox.Text = meuTexto.Replace(":","\n");


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Afonso Fernandes domingo, 10 de fevereiro de 2013 00:33
    • Marcado como Resposta ERIC BAUMBACH domingo, 10 de fevereiro de 2013 19:35
    domingo, 10 de fevereiro de 2013 00:03
  • O replace vai ser muito útil caso queira arrancar o carácter identificador da string, mas se quiser mante-lo e adicionar um carácter especial após ele você pode usar o string.Split(char) -  que vai retornar uma array de string onde o texto pré identificador será mantido em uma index - e percorrer a array adicionando o carácter identificador + "\n" pra quebrar a linha. 

    Ex: 

    String[] Result = textBoxTeste.Text.Split(':');
    
    
     for (int i = 0; i < Result.Length; i++)
                {
                    Result[i] += ":\n";
                }
                LabelTeste.Text = string.Concat(Result);

    Olhe como o replace funciona:

    int Index;
    
    while (textBoxText.Text.Contains(":")) // enquanto houver ':'
                {   
                 Index = textBoxText.Text.IndexOf(":"); // retorna o índice do carácter : 
                 textBoxTeste.Text =  textBoxTeste.Text.Insert(Index + 1, "\n"); // insere a quebra de linha no indice encontrado
                 textBoxText.Text = textBoxTeste.Text.Remove(Index, 1); //Deleta o ':' através do índice encontrado
                    
                }


    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.



    domingo, 10 de fevereiro de 2013 01:07
  • o exemplo que o Vitor postou é perfeito, e se quizer manter o modo mais simples, ainda é com o replace:

    string meuTexto = "Oi:meu:nome:é:vitor"; meutextBox.Text = meuTexto.Replace(":",":\n");

    //ou

    meutextBox.Text = meuTexto.Replace(":","\n:");
    • Marcado como Resposta ERIC BAUMBACH domingo, 10 de fevereiro de 2013 19:35
    domingo, 10 de fevereiro de 2013 01:27