Jump to content

comparar caracters duma string com uma string.


Recommended Posts

Posted

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

Posted

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... =/

Posted

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. 😉

Posted

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

Posted

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...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.