Wörter im Text wiederfinden/suchen mit * und ?

Janine

Grünschnabel
Hey Leute!

Mein neues Programm soll Wörter wiederfinden aus einem Text. Als Eingabe dürfen ? und * vorkommen.
Ich soll mit einer Hauptmethode und mit 2 Untermethoden arbeiten, wobei die eine die Wörter ohne Sternchen vergleicht und die andere soll meine Eingabe, wenn sie mit nem Sternchen ist in zwei Teilstrings teilen.
Habt ihr eine Idde, wie ich mein Programm ändern könnte?
----------------------------------------------------------------------------------------------------------------
Code:
        public void egrep()
        {
                String T = TA1.getText();
                String reg = T1.getText();
                int j = 0;
                
                StringTokenizer st = new StringTokenizer(T);
                String[] s = new String[(st.countTokens())];

                while (st.hasMoreTokens())
                        {
                        s[j++] = st.nextToken();
                        }

                for (int i = 0; i < s.length; i++)
                        {
                        if (true == wordMatchesRegExpression(s[i], reg))
                                TA2.append("matched " + s[i] + '\n');
                        }
        }

        static boolean wordMatchesRegExpression(String word, String reg)
        {
                for(int i=1; i< reg.length(); ++i);
                        {
                                int k =0;
                                        while(reg.charAt(i)=="*")
                                        {
                                        k=+ 1;
                                        }

                                switch (k)
                                {
                                case k>1:
                                        showStatus(String msg);
                                        break;

                                case k=1:
                                        wordMatchesWithStar( s[ i ] , reg );
                                        break;

                                case k=0:
                                        wordMatchesWithoutStar( s[ i ] , reg );
                                        break;

                                default false;

                                }



                        }


                if (word.length() != reg.length())
                        return false;

                for (int i = 0; i < word.length(); i++)
                        if (word.charAt(i) != reg.charAt(i))
                                return false;
    return true;
        }
 
Servus!

Code:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
 * Created on 02.12.2003
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class TextSearch {
    String[] zeilen =
        new String[] {
            "Hey Leute!",
            "Mein neues Programm soll Wörter wiederfinden aus einem Text. Als Eingabe dürfen ? und * vorkommen.",
            "Ich soll mit einer Hauptmethode und mit 2 Untermethoden arbeiten, wobei die eine die Wörter ohne Sternchen vergleicht und die andere soll meine Eingabe, wenn sie mit nem Sternchen ist in zwei Teilstrings teilen.",
            "Habt ihr eine Idde, wie ich mein Programm ändern könnte?" };
    public static void main(String[] args) {
        new TextSearch().doIt();
    }
    /**
     * 
     */
    private void doIt() {
        // TODO Auto-generated method stub
        String suchText = "sol?";
        Pattern pat = Pattern.compile(suchText);
        for (int i = 0; i < zeilen.length; i++) {
            Matcher match = pat.matcher(zeilen[i]);
            if (match.find()) {
                System.out.println(
                    "Eine Entsprechung für das Muster: "
                        + suchText
                        + "\n wurde im Satz: "
                        + zeilen[i]
                        + "\ngefunden.");
            }
        }
    }
}

Gruß Tom
 
Zurück