O trecho de código abaixo deveria verificar se um numero vem seguido imediatamente de uma letra. Em caso afirmativo, deveria inserir um espaço em branco separando esses caracteres.
Como por exemplo:
Nesse caso deveriamos obter:
Mas isso não está acontecendo
if(Character.isDigit(cepTMP.charAt(i))){
contadorDeNumeros++;
if(Character.isLetter(cepTMP.charAt(i+1))){
String a = cepTMP.substring(0,i+1);
String b = cepTMP.substring(i+1);
cepTMP = a + " space " + b;
}
}
OBS: coloquei uma String “space” para simular um espaço em branco. Uma vez que a substituição da mesma por um " " chegaria no resultado que eu queria.
Opa!
Não sei se é isso que você quer, e se essa é a melhor forma,
mas de qualquer maneira funciona :).
public String insereEspaco(String s) {
String str = "";
for (int i = 0; i < s.length(); i++) {
if (i > 0 && ((Character.isDigit(s.charAt(i - 1))
&& Character.isLetter(s.charAt(i)))
|| Character.isLetter(s.charAt(i - 1))
&& Character.isDigit(s.charAt(i)))) {
str += " " + s.charAt(i);
} else {
str += s.charAt(i);
}
}
return str;
}
[quote=LeonardoCComp]Opa!
Não sei se é isso que você quer, e se essa é a melhor forma,
mas de qualquer maneira funciona :).
[code]
public String insereEspaco(String s) {
String str = “”;
for (int i = 0; i < s.length(); i++) {
if (i > 0 && ((Character.isDigit(s.charAt(i - 1))
&& Character.isLetter(s.charAt(i)))
|| Character.isLetter(s.charAt(i - 1))
&& Character.isDigit(s.charAt(i)))) {
str += " " + s.charAt(i);
} else {
str += s.charAt(i);
}
}
return str;
}
[/code][/quote]
blz, esse tambem funciona.
Mas o de cima tambem funcionava. heeheheheh.
Não sei porque não estava funcionando.
Obrigado mesmo assim.