String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
Qual método usar pra se pegar o conteudo “RUA DOS PRAZERES”. ?
String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
Qual método usar pra se pegar o conteudo “RUA DOS PRAZERES”. ?
pela informação fornecida até agora:
substring(int, int);

Examples:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
Arquivo posicional ??
Essa informação sempre estará começando no msm lugar e terminando no msm lugar :?:
[quote=erickcellani]pela informação fornecida até agora:
substring(int, int);

Examples:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
http://java.sun.com/j2se/1.5.0/docs/api/[/quote]
Não é bem isso que eu estou procurando.
suponha que a String é a seguinte:
"01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587"
Eu gostaria de pegar o nome “RUA DOS PRAZERES”.
entenderam agora?
[quote=gp7junior]String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
Qual método usar pra se pegar o conteudo “RUA DOS PRAZERES”. ?[/quote]
q String mais esquisita cara… ela vai ser assim mesmo???
Caso a resposta a pergunta que o colega aí de cima fez seja positiva, você pode dar um split usando o delimitador (o que me parece ser um tab ‘\t’) e na possição x do vetor estaria o que você quer!
[quote=neohacker]Arquivo posicional ??
Essa informação sempre estará começando no msm lugar e terminando no msm lugar :?:
8)[/quote]
sim eh sequencial
Então, como citado pelo thiago.correa caso não seje um [tab] você poderia usar uma regular expression para “mapear” essa sua string e retornar oque você precisa.
[]s
[quote=erickcellani][quote=gp7junior]String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
Qual método usar pra se pegar o conteudo “RUA DOS PRAZERES”. ?[/quote]
q String mais esquisita cara… ela vai ser assim mesmo???[/quote]
Sim pois ela vem de um arquivo externo no formato .txt gerado a partir de um outro sistema.
[quote=marciocamurati]Então, como citado pelo thiago.correa caso não seje um [tab] você poderia usar uma regular expression para “mapear” essa sua string e retornar oque você precisa.
[]s[/quote]
Essa regular expression possui algum método que retorne a terceira sequencia de caracteres por exemplo?
Sempre será com esses espaços/tabs separando os campos?
poderia colocar algum caracter tbm, pode usar o split pra trabalhar com delimitadores.
http://java.sun.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)
[quote=Luiz Aguiar]Sempre será com esses espaços/tabs separando os campos?
poderia colocar algum caracter tbm, pode usar o split pra trabalhar com delimitadores.
http://java.sun.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)[/quote]
Voce poderia me mostrar como ficaria isso em linhas de codigos?
tentei fazer da seguinte maneira mas nao funcionou:
public static void main(String[] args) {
// TODO code application logic here
String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
System.out.println("usando o split"+string.split("/t"));
}
[quote=gp7junior][quote=Luiz Aguiar]Sempre será com esses espaços/tabs separando os campos?
poderia colocar algum caracter tbm, pode usar o split pra trabalhar com delimitadores.
http://java.sun.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)[/quote]
Voce poderia me mostrar como ficaria isso em linhas de codigos?
tentei fazer da seguinte maneira mas nao funcionou:
[code]
public static void main(String[] args) {
// TODO code application logic here
String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
System.out.println("usando o split"+string.split("/t"));
}
[/code][/quote]
É “\t” ao invés de “/t”
Se isso for um arquivo posicional (por exemplo, o endereço “Rua dos Prazeres” fica nas posições de 36 a 56), você pode usar:
0000000000111111111122222222223333333333444444444455555555556666666666
0123456789012345678901234567890123456789012345678901234567890123456789
01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587
String registro = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
String endereco = registro.substring (36, 56+1);
Só lembrando que em Java a primeira posição é 0.
[quote=Yky Mattshawn][quote=gp7junior][quote=Luiz Aguiar]Sempre será com esses espaços/tabs separando os campos?
poderia colocar algum caracter tbm, pode usar o split pra trabalhar com delimitadores.
http://java.sun.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)[/quote]
Voce poderia me mostrar como ficaria isso em linhas de codigos?
tentei fazer da seguinte maneira mas nao funcionou:
[code]
public static void main(String[] args) {
// TODO code application logic here
String string = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
System.out.println("usando o split"+string.split("/t"));
}
[/code][/quote]
É “\t” ao invés de “/t”[/quote]
tentei fazer como vc disse, mas descobri que o erro nao esta na barra.
[quote=thingol]Se isso for um arquivo posicional (por exemplo, o endereço “Rua dos Prazeres” fica nas posições de 36 a 56), você pode usar:
0000000000111111111122222222223333333333444444444455555555556666666666
0123456789012345678901234567890123456789012345678901234567890123456789
01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587
String registro = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
String endereco = registro.substring (36, 56+1);
Só lembrando que em Java a primeira posição é 0.
[/quote]
veja bem, nem sempre vem certinho na posição correta.
O unico padrao aqui é a ordem em que aparecem os campos.
Cara então acho que a única solução (se alguém souber outra vamos lá) é partir pra análize lexicográfica, porque se vc nem sabe como vai vim o arquivo, somente a ordem dos campos fica difícil
Boa Sorte 
Mesmo com o toString(); nada acontece.
Talvez isso resolva …
String str = "01254 RAFAEL ANTONIO RUA DOS PRAZERES 245896 6587";
Pattern findString = Pattern.compile("RAFAEL ANTONIO");
Matcher m = findString.matcher(str);
while(m.find()){
System.out.println(m.group());
}
Mas como o Tingol disse… se for arquivo posicional, ou seja, se a informação que você quiser esteja sempre na mesma posição o melhor é usar o método substring() da Classe String.
Falowww
Isso necessariamente depende de uma caractere CONSTANTE para fazer a divisão. No caso poderia ser o ESPAÇO, SE o dado não aceitasse também. Então, imagino que o separador é o TAB, e ele sempre está lá, certo?
Raciocine:
Split na string, com o argumento da caracter do TAB. Se não me engano, é a posição 9 da tabela ASCII.
Onde:
o seu texto rua dos prazeres
Ficaria:
variavel[0] = o seu
variavel[1] = texto
variavel[2] = rua dos prazeres
E ai, limparia esta variavel na posição 2:
variavel[2] = variavel[2].trim().replace( ,"");
E por ai.
Abraços