Pegar somente numeros de uma String  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
surfzera
Virtual Machine Man
[Avatar]

Membro desde: 13/10/2006 12:14:37
Mensagens: 681
Offline

Pessoal tenho uma string e gostaria de pegar somente os numeros de uma String.

Exemplo :

String unidade = "SC - 7448"

to fazendo assim hoje:

usuario.setCnpjUnidade(unidade.substring(5, 9));

Mais meu probleam é se estiver cadastrado por exemplo assim "SC-7448" ou "7448" ou etc... gostaria de pegar somente os numeros pra garantir que tenho esse 4 numeros.
[WWW]
joyle
Java Ninja

Membro desde: 03/06/2009 18:45:18
Mensagens: 256
Offline

Use o replaceAll():

This message was edited 2 times. Last update was at 05/08/2011 11:50:33



aix
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2007 08:31:00
Mensagens: 660
Offline

surfzera wrote:Pessoal tenho uma string e gostaria de pegar somente os numeros de uma String.

Exemplo :

String unidade = "SC - 7448"

to fazendo assim hoje:

usuario.setCnpjUnidade(unidade.substring(5, 9));

Mais meu probleam é se estiver cadastrado por exemplo assim "SC-7448" ou "7448" ou etc... gostaria de pegar somente os numeros pra garantir que tenho esse 4 numeros.


Ola Surfzera,


Volta teu rosto sempre na direção do sol, e então, as sombras ficarão para trás.
[MSN]
wellington.nogueira
GUJ Ranger
[Avatar]

Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline

Caso exista números na primeira parte da string, o regex que o joyle postou não funcionaria.

Usando substring, ao invés de definir as posições exatamente, pode-se usar a dimensão da string para calcular as mesmas (claro, apenas se sempre for 4 números e sempre as últimas letras da string).



Outra alternativa seria usar o split (considerando que a separação é sempre o "-" )


57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/
surfzera
Virtual Machine Man
[Avatar]

Membro desde: 13/10/2006 12:14:37
Mensagens: 681
Offline

ja resolvi valeu galera


String unidade1 = unidade.replaceAll("\\D", ""); //Troca tudo que não for dígito por vazio
[WWW]
joyle
Java Ninja

Membro desde: 03/06/2009 18:45:18
Mensagens: 256
Offline

wellington.nogueira wrote:Caso exista números na primeira parte da string, o regex que o joyle postou não funcionaria.

Engraçado, acabei de testar e funcionou! Sempre usei o regex pra esse tipo de situação e nunca tive nenhum problema!

This message was edited 1 time. Last update was at 05/08/2011 08:39:30



wellington.nogueira
GUJ Ranger
[Avatar]

Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline

joyle wrote:
wellington.nogueira wrote:Caso exista números na primeira parte da string, o regex que o joyle postou não funcionaria.

Engraçado, acabei de testar e funcionou! Sempre usei o regex pra esse tipo de situação e nunca tive nenhum problema!

Descrevi um caso em específico: testei para a situação 1SC - 7448 que retornou 17448.

57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/
lucasportela
JavaTeenager

Membro desde: 28/12/2010 16:46:01
Mensagens: 198
Offline

Exemplo:
https://sites.google.com/site/lucasportela/home/java/separarnumerosdeumastring

Precisa controlar o patrimônio de informática de sua empresa em um clique?

Controle de Patrimônio de Informática

Sobre java:

Java
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team