Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tiego Douglas Medeiros

[Resolvido] Como eu posso dividir uma string em um array?

Recommended Posts

Olá a todos,

 

hoje trago uma questão, que é parte inicial de um algoritmo que preciso programar em C#

 

Questão:

a) preciso pegar o valor de uma string que acaba de entrar por um simples webcontrol (textbox) quebrar cada caractere dessa string

seja texto ou numero. seria um array? se sim como?

 

b)Depois eu preciso poder manipular esses caracteres como se cada um deles fosse uma variavel, seria por array?

pois devereirealizar uma formula a partir disso, além de ter que transformar caractere que for texto em numero por atribuição, ou seja "A" vale "1"

 

alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom você pode percorrer a string e ir pegando cada caracter ir adicionando em um array, dai você ja tem todas separadas para trabalhar;

Compartilhar este post


Link para o post
Compartilhar em outros sites

...não sei não!

 

porque esse retorno deve ser manipulado individualmente pois havera formula em cima de cada caractere texto e subsequente na somatoria de todos.

 

acredito que no primeiro momento eu preciso quebrar a palavra e ler seus pedaços

-------------

pelo que estou pesquisando devo usar str_split() mais não sei como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

string s = "ivan.teles0123";
var retorno = s.ToCharArray();

 

Onde o retorno é um array e cada item do array tem uma letra, faça o teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, eu preciso quebrar cada caractere da string e depois joga las em variáveis para que eu possa manipular cada caractere

 

Se você quer separar os itens por um caracter como uma virgula por exemplo, utilize o split, faça uma pesquisa.

 

Abraços...

 

...acredito que consegui. :)

 

Acabei não usando a função split, fiz assim.

 


string nome = txt_sobrenome.Text;

       string caract0 = sobrenome.Substring(0, 1);
       string caract1 = sobrenome.Substring(1, 1);
       string caract2 = sobrenome.Substring(2, 1);
       string caract3 = sobrenome.Substring(3, 1);
       string caract4 = sobrenome.Substring(4, 1);
       string caract5 = sobrenome.Substring(5, 1);
       string caract6 = sobrenome.Substring(6, 1);
       string caract7 = sobrenome.Substring(7, 1);
       string caract8 = sobrenome.Substring(8, 1); 
       string caract9 = sobrenome.Substring(9, 1);
       string caract10 = sobrenome.Substring(10, 1);
       string caract11 = sobrenome.Substring(11, 1);
       string caract12 = sobrenome.Substring(12, 1);
       string caract13 = sobrenome.Substring(13, 1);
       string caract14 = sobrenome.Substring(14, 1);
       string caract15 = sobrenome.Substring(15, 1);
       string caract16 = sobrenome.Substring(16, 1);



       lbl_caract_0.Text = caract0;
       lbl_caract_1.Text = caract1;
       lbl_caract_2.Text = caract2;
       lbl_caract_3.Text = caract3;
       lbl_caract_4.Text = caract4;
       lbl_caract_5.Text = caract5;
       lbl_caract_6.Text = caract6;
       lbl_caract_7.Text = caract7;
       lbl_caract_8.Text = caract8;  
       lbl_caract_9.Text = caract9;
       lbl_caract_10.Text = caract10;
       lbl_caract_11.Text = caract11;
       lbl_caract_12.Text = caract12;
       lbl_caract_13.Text = caract13;
       lbl_caract_14.Text = caract14;
       lbl_caract_15.Text = caract15;
       lbl_caract_16.Text = caract16;


 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que postei você teria o mesmo resultado.

string s = "ivan.teles0123";
var retorno = s.ToCharArray();

lbl_caract_0.Text = retorno[0];
lbl_caract_1.Text = retorno[1];
lbl_caract_2.Text = retorno[2];
lbl_caract_3.Text = retorno[3];
lbl_caract_4.Text = retorno[4];
lbl_caract_5.Text = retorno[5];
lbl_caract_6.Text = retorno[6];
lbl_caract_7.Text = retorno[7];
lbl_caract_8.Text = retorno[8];  
lbl_caract_9.Text = retorno[9];
lbl_caract_10.Text = retorno[10];
lbl_caract_11.Text = retorno[11];
lbl_caract_12.Text = retorno[12];
lbl_caract_13.Text = retorno[13];

E tem um detalhe tanto no seu código como no meu pode ocorrer um erro, pois nem sempre você saberá quantos caracteres tem na string nome;

Então a melhor solução e criar os Label dinamicamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

...mais eu já pensei nisso,

 

no meu caso, o campo que eu vou trabalhar terá sempre 17 digitos nunca mais e nunca menos, mais ainda assim eu colocarei validação de apenas 17 digitos.

 

Obrigado!!!

 

até a proxima...

 

 

Do jeito que postei você teria o mesmo resultado.

string s = "ivan.teles0123";
var retorno = s.ToCharArray();

lbl_caract_0.Text = retorno[0];
lbl_caract_1.Text = retorno[1];
lbl_caract_2.Text = retorno[2];
lbl_caract_3.Text = retorno[3];
lbl_caract_4.Text = retorno[4];
lbl_caract_5.Text = retorno[5];
lbl_caract_6.Text = retorno[6];
lbl_caract_7.Text = retorno[7];
lbl_caract_8.Text = retorno[8];  
lbl_caract_9.Text = retorno[9];
lbl_caract_10.Text = retorno[10];
lbl_caract_11.Text = retorno[11];
lbl_caract_12.Text = retorno[12];
lbl_caract_13.Text = retorno[13];

E tem um detalhe tanto no seu código como no meu pode ocorrer um erro, pois nem sempre você saberá quantos caracteres tem na string nome;

Então a melhor solução e criar os Label dinamicamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.