Character.isLetter() Verificando numeros e letras [Resolvido]

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.