String

Tem alguma função em java que eu trato cacacter coringa estou com o seguinte problema:

Bem fiz o seguinte código:

package com.algortimos;

import javax.swing.*;

public class Teste 
{
	String prim;
	
	 
	public static void main(String args[]) 
	{
   		String t = "texto de teste";
   		String p = "te?to";
   		
   		int prim;
   		int ult;
   		String passa;
   	 
   		if(p.indexOf("?")>-1)
   		{
   			 
   			 
   			System.out.println("Possui coringa");
   		}
   		else
   		{
   			 
   			System.out.println("Não possui coringa");
   		}
   		 
	}
	 

}

ele apenas me mostra se em p existe caracter coringa ou não…
tenho que pega uma substring em t e mostrar “texto” alguém tem idéia de como posso fazer isto…?

Tem algum caracter que represento todos galera…??
um tipo “?” ai eu acho que resolveria meu caso…

Acho que a solução para o seu problema é usar regex, mas explique melhor o que você quer porque não ficou claro.
No aguardo… 8)

consulte o pacote java.util.regex que ele responde a essas duvidas com patterns em strings

Leia na documentação sobre o String.matches() e java.util.regex.Pattern, acho que seja isso…

Desculpe se não fui claro galera e porque to na hora do almoço e tenho pouco tempo para resolver isto, vou tentar ser mais objetivo:

Sumponha que eu tenha uma String principal:

String t = “texto de teste”;

e tenho tb outra String a qual eu faço uma busca em t.

String p=“texto”.

E como se eu estiver procurando uma palavra em um texto
t é meu texto e p e a palavra que estou procurando;

Como a gente pode ver a palavra que estamos procurando que é “texto”
existe na palavra principal que é “texto de teste”; Até ai tudo bem o problema é que o usuário terá a opção de colocar um caracter coringa “?”
como sabemos o caracter coringa substitui qualquer outro. então se ele colocar na String p, que é a palavra que estou procurando “te?to” ele tb vai me mostrar “texto”, já que “?” substitiue qualquer caracter. Eu estou fazendo um pequeno editor de texto em java já está quase pronto mais eu presciso colocar o opção de caracter coringa pois é uma exigência,o algortimo de busca estou usando o Boyer Moore o único problema e esse, e simples mais não estou conseguindo fazer…

O coringa da expressão regular é o ponto. Exemplo:

“te.to” bate com “texto”, “te-to” e “testo”.

mas no meu cara

“te?to”==“texto”

Então troque “?” por “.”, e use como expressão regular. Simples, não?

Soh que eles querem com ‘?’ minha ideia é a seguinte cara acho que estou apanhando mesmo é na lógica mesmo porque acho que ninguém nunca presciso fazer isso por um lado acho bom porque vou aprender coisas nova mas vamos lá… o négocio e quebrar a cabeça e colocar a mão no código
acho que o começo já consegui olha soh…

package com.algortimos;

import javax.swing.*;

public class Teste 
{
	String prim;
	
	 
	public static void main(String args[]) 
	{
   		String t = "texto de teste";
   		String p = "te?to";
   		 
 
   	    
   	    
   	    if((p.indexOf("?")>-1))
   	    {
   	    	
   	    	System.out.println("Possui cacacter coringa");
   	    }
   	    else
   	    {
   	    	System.out.println("Não possui caracter coringa");
   	    }
   	    
   	 
 
   		 
	}
	 

}

Nesta instrução verifica se possui caracter coringa o texto que eu quero procurar neste caso meu caracter coringa e “?”.
Minha idéia é cria um tipo que represente todos eu caracteres neste caso
se ele for procurar e vai encontrar se procurar y vai encontrar e por vai vai…

Amigo, o que estou sugerindo é o seguinte:

  • Pegue a string, do jeito que lhe passaram (“te?to”).

  • Para passar a tal string para uma expressão regular, faça o seguinte:

Substitua os “\” por “\\”

Substitua os “.” por “\.”

Substitua os “|” por “\|”

Substitua os “(” por “\(”

Substitua os “)” por “\)”

Substitua os “" por "\

Substitua os “+” por “\+”

Substitua os “^” por “\^”

Substitua os “$” por “\$”

e por último:

Substitua os “?” por “.”

Assim você terá algo que é uma expressão regular perfeita. Nem precisa usar algoritmos muito complexos; pode (depois dessas substituições) usar as classes Pattern e Matcher sem preocupação nenhuma.

Cara desculpe minha burrice vou tentar fazer o que vc falow se der pau eu colocar um nova msg neste tópico valew.