• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

NoOne

comparar caracters duma string com uma string.

7 mensagens neste tópico

Por exemplo eu tenho a string:

String b = "XYZW";

e alguem insere uma string com os seguintes caracters:  "XXXX"

o que eu quero verificar é s os caracters da string inserida constam na string b...  neste caso o resultado seria verdadeiro. Porém não tou a conseguir fazer isto.

if (!base11.contains(valor))  ,  nao funciona pois ele verifica se "XXXX" existe na string b.

alguma ideia? alguma funçao predefenida que dê pra fazer isto? eu ja testei com dois fors mas acaba por nao dar o resultado pretendido.

PS: espero ter conseguido ser explicito :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens de usar o .equals:

if(string1.equals(string2)) {
// ...

if(string1.equals("blablabla")) {
// ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isso tambem n faz o que preciso

isso compara a string completa :/

o k preciso fazer é o seguinte:  tenho uma lista de caracters possiveis (String b = "XYZW") , e uma string inserida pelo utilizador. kero verificar se todos os caracters inseridos pelo utilizador se encontram nessa lista... =/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tens um conjunto de caracteres então talvez fosse mais fácil teres isso em char, em vez de String.

/*Opcao 1 - utiliza expressoes regulares*/
String possiveis = "XYZ";
String palavra = "Um Do li taz";

if(palavra.contains("\\[" + possiveis + "\\]")) {
    System.out.println("Contem");
}



/*Opcao 2 -  simples 'for'*/
char[] possiveis = new char[]{'X', 'Y', 'Z'};
String palavra = "Um Do li taz";

for(int i = 0; i < palavra.length(); i++) {
    if(palavra.indexOf(possiveis[i]) > -1 ) {
      System.out.println("Contem");
    }
}

Edit. Já agora podias deixar a tua opção, assim todos ficam a saber. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

String B= "ABCD";

for(a =0; a!=valor.length(); a++)

      if(!B.contains(valor.substring(a,a+1)))

                flag1=1;

a variavel flag é incializada a zero, posteriormente verifico qual o valor d flag... se for 0 quer dizer k todos os caracters da string valor constam da lista na string B, se for 1 quer dizer que pelo menos um dos caracters n constam dessa lista

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tendo em conta que estás a usar expressões regulares, e a cortar a string por cada iteração apostava que a 2ª solução que te apresentei é ligeiramente mais rápida, mas a diferença pode ser negligenciável...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora