Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

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?

Share this post


Link to post
Share on other 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;

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.