StringTokenizer - Casamento de Padrões

1 resposta
N

Abaixo tenho um código q faz casamento de padões. Só não estou conseguindo implementar uma possível solucão para utilizar um “ignoreCase” para as comparações. Alguem pode me dar uma ajuda?

Classe CasamentoDePadroes

import java.util.*;
class CasamentoDePadroes
{
private String padrão;

CasamentoDePadroes(String padrão)
{this.padrão = padrão; }

public boolean casa(String aComparar){
	boolean todosCasam=true;
	String esteToken,esteTokenDoGrupo;
	StringTokenizer oPadrão=new StringTokenizer(padrão,"{}");
	while(oPadrão.hasMoreTokens())
	{
	esteToken=oPadrão.nextToken();
	if (esteToken.indexOf('|') == -1) {
		if (aComparar.startsWith(esteToken)) {
			aComparar=aComparar.substring(esteToken.length()); }
		else todosCasam=false; }
	else{
		StringTokenizer grupo =new StringTokenizer(esteToken,"|");
		boolean nenhumCasa=true;
		while(grupo.hasMoreTokens()){
			esteTokenDoGrupo= grupo.nextToken();
			if (aComparar.startsWith(esteTokenDoGrupo)){
				aComparar=aComparar.substring(esteTokenDoGrupo.length());
				nenhumCasa=false;
			break; } 
			}
		if (nenhumCasa)todosCasam=false;
		} 	
	} // fim dowhile para todos os tokens cujos separadores foram ?{? e ?}?
	if (aComparar.length() > 0 )todosCasam=false;
	return todosCasam;
	} // fim do método casa

public String toString(){return padrão;}
}

Classe TesteAplicação

public class TesteAplicacao {
	
	public TesteAplicacao() {
		String padrao = "{10|9|8|7|6|5|4|3|2|1} de {Janeiro|Fevereiro} de 200{3|4}";
		CasamentoDePadroes casaPadrao = new CasamentoDePadroes(padrao);
		
		String teste01 = "4 de Janeiro de 2004";
		String teste02 = "-1 de Outubro de 2000";
		String teste03 = "10 de Fevereiro de 2003";
		
		System.out.println(padrao);
		System.out.println("1:"+casaPadrao.casa(teste01));
		System.out.println("2:"+casaPadrao.casa(teste02));
		System.out.println("3:"+casaPadrao.casa(teste03));
	}
	public static void main(String[] args) {
		new TesteAplicacao();
	}
}

No caso, se eu digitasse ‘janeiro’ (em minusculo) ele considerasse como TRUE. Já tentei diversas formas e nada :frowning:

[]´s

1 Resposta

N

up

nada?

Criado 16 de outubro de 2004
Ultima resposta 17 de out. de 2004
Respostas 1
Participantes 1