espaço primeira letra

12 respostas
J

Pessoal, tenho um campo na minha pagina chamada nome. Quando o cara submeter o formulário e eu receber no meu servlet, preciso validar os campos.

Como identifico que o primeiro caracter da palavra é um espaço ou se o campo não ta vazio?

abraço

12 Respostas

aajjbb

se você usar o metodo .trim() da classe String, criara uma nova string sem o espaço no primeiro indice. ou entao você faz um if.

String s = " sdhcdc scjhdc";

if(s.charAt(0).equals(" ") {
   //faz o que você quer
}
mapleplayer

A sugestão acima é a mais simples =)
Você também pode usar regex.

J

aajjbb:
se você usar o metodo .trim() da classe String, criara uma nova string sem o espaço no primeiro indice. ou entao você faz um if.

String s = " sdhcdc scjhdc";

if(s.charAt(0).equals(" ") {
   //faz o que você quer
}

tentei:

if((!campo.equals("")) || (!campo.charAt(0).equals(" "))){                  // AQUI DA ERRO DIZENDO: 'char cannot be dereferenced'
//sucesso
}

mais aparecece: “char cannot be dereferenced”

aajjbb

ah sim, por ser char, troque as aspas duplas por aspas simples

J

mesmo problema.

D

o método charAt retorna um char primitivo, não a classe wrapper, por esse motivo ele não terá um método equals(não terá nenhum método na verdade). Compare com ==.

aajjbb

ops… desculpe…

lina

Oi,

As vezes um switch/case seria mais objetivo.
switch (campo.charAt(0))
{
     case ' ':

          break;
}

Se for muitas comparações, vale a pena.

Tchauzin!

D

Outra coisa: sua comparação deveria usar o operador &&, ou do contrário seu if sempre validará o que você não quer(isso que não der erro).

Faça uma comparação que verifica se o campo é diferente de vazio E se o primeiro caractere é diferente de espaço.

InSeOfKn

Para verificar se uma string ta vazia use “SUA STRING”.isEmpty() que é o mesmo que fazer “SUA STRING”.length() ==0
e para ver se o primeiro caractere é um espaço use “SUA STRING”.charAt(0)==’ ’

um if assim entra somente se não for vazio e não for um espaço no primeiro carácter

if(!campo.isEmpty() && campo.charAt(0)!=' '){ //todo o codigo }

Até!

D

Vale ressaltar que o método isEmpty() foi adicionado no java 1.6. Se você precisa de uma versão mais antiga, não funcionará.

InSeOfKn

Bem lembrado Daniels! se você precisar usar em uma versão mais antiga use campo.length() == 0 .

Até!

Criado 11 de janeiro de 2011
Ultima resposta 11 de jan. de 2011
Respostas 12
Participantes 6