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

2 respostas
gp7junior

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.

2 Respostas

L

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;
	}
gp7junior
LeonardoCComp:
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;
	}

blz, esse tambem funciona.

Mas o de cima tambem funcionava. heeheheheh.
Não sei porque não estava funcionando.

Obrigado mesmo assim.

Criado 17 de maio de 2007
Ultima resposta 17 de mai. de 2007
Respostas 2
Participantes 2