Terei uma string separada por alguns caracteres.
Ex. 15]100,000[14$81307/1/1
Preciso separar em:
15
100,00
14
81307/1/1 (as barras são parte do que preciso)
O problema.
o que tiver antes do “]” pode variar entre 1 e 4 caracteres
o que tiver entre “]” e “[” pode ser algo como 5,125 (é um percentual)
o que tiver entre “[” e “$” 1 e 2 caracteres
depois do “$” pode ser até 15 caracteres, mas este valor posso pegar usando indexOf(’$’) + 1)
humm, ja é um começo, vou dar uma olhada nos links.
vlw
ricoldi
Assim, não querendo disfocar a sua duvida ou a resposta dos amigos, ou mesmo gerar algum flamewar. Mas seria mais para te dar uma opção.
Não sei se é o caso, e se não for me perdoe.
Vi essa sua String e imaginei que é um caso que os programadores ?C? aqui da empresa fazem, gerar uma string por separadores para trafegar na rede. (Ou nas mensagens dos objetos no seu caso).
Resumindo: Porque você não usa objeto? Assim não tem que ficar dando substring e reduz a quantidade de erros que pode dar por strings invalidas.
publicclassMeuObjeto{//Não sei os nomes de seus atributosprivateintnum1;privatefloatnum2;privateintnum3;privateDatedata1;//Quem gerar o objeto tem todos os dadospublicMeuObjeto(int_num1,float_num2,int_num3,Date_data1){num1=_num1;num2=_num2;num3=_num3;data1=_data1;}//Daqui para baixo é de quem recebeu o objeto e ai é só dar os getspublicintgetNum1(){returnnum1;}publicfloatgetNum2(){returnnum2;}publicintgetNum3(){returnnum3;}publicDategetData1(){returndata1;}}
Não sei se fui claro, mas se lhe interessar avise.
String t = "15]100,000[14$81307/1/1";
String[] ts = t.split("]|\[|\$");
Para o segundo problema você pode usar o substring(int, int). Os índices você pode pegar com o indexOf().