Ir ao conteúdo
  • Cadastre-se

Manipulação de strings e vetores


Posts recomendados

Ola pessoal sou novo no fórum e estou com um problema que esta me dando bastante dor de cabeça 

Eu preciso gerar sentenças a partir de gramaticas. 
Meu objetivo é em um texto digitado dessa forma em um campo txt : 

S -> aA|bA|abC 
A -> aB|bB|S 
B -> bC 
C -> aC|bC|vazio 

Eu preciso separar por quebra de linha onde eu uso um split até ai tudo bem.. 
depois disso eu preciso novamente usar split e separar os lados da seta " -> " de cada linha 
e logo em seguida de novo na parte da direita da seta separar pelo "|" 

Ai eu fui testando... só que me deparei com um problema, eu preciso que em cada linha seja feito esse mesmo processo sendo que
eu nunca saberei quantas linhas são por isso pego o length da quebraLinha[] para saber quantas linhas são, só que a partir 
disso eu já não sei mais como controlar pois eu preciso pegar o retiraSeta[0] e retiraSeta[1] de cada linha do quebraLinha[x]

e guardar em algum lugar que me possibilite controla-las e separar novamente pelo "|"

Alguém saberia uma logica que pudesse me ajudar no meu problema ? seria muito grato 
 

public void separar(){ 
	String texto = txtCampo.getText(); 
	String quebraLinha[] = texto.split("\n"; 
	
	int tam = quebraLinha.length; 

	for(int x=0;x<=tam;x++){ 
		String retiraSeta[] = quebraLinha[x].split(" -> "; 
	} 
}

 

Link para o comentário
Compartilhar em outros sites

no split .. .tenta usar 

quebraLinha[x].split("[\\s]*\\->[\\s]*");

Com isso ele usa a regex pra remover a "seta" com ou sem espaços ...

 

Edit.: Pela logica você deveria ter no final algo como:
 

Citação

S -> aA
S -> bA

S -> abC 
A -> aB

A -> bB

A -> S 
B -> bC 
C -> aC

C -> bC

C -> vazio 

 

Então o ideal é você usar um Objeto pra ter o Simbolo inicial e a produção quase que da forma que eu apresentei ali em cima ... assim você tem essa situação de forma mais natural pra seguir a lógica ...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!