String auf Muster prüfen

Garden

Mitglied
Hallo (nochmal),
da es eben ja so klasse funktioniert hat hier mein weiteres Problem:
Geht um eine Methode zur Musterprüfung fuer einen String.
Diese sollte 2 Strings vergleichen, einmal das Textmuster z.B. "Die*er T* geht" wobei der * fuer beliebig viele Zeichen bzw. Leerzeichen stehen kann und einen String ohne * z.B. "Dieser Test geht"
Im obigen Bsp. sollte true zurückgegeben werden, da der Text auf das Muster passt. Es würde auch der Text "Dieser Tag geht" passen..."Dieser Tag steht" aber nicht...denke mal dass Prinzip ist klar!

Das ganze sollte rekursiv sein! Habe überhaupt keinen Ansatz! 😉
 
Ist doch eig. recht simpel.
Du fängt links an zu lesen und vergleichst dann zeichen für zeichen. Wenn du nen Stern siehst liest du bei dem zu prüfenden Wort solange weiter bis du das nächste auszuwertende Zeichen siehst. In deinem Fall z.b. suchst du nach dem ersten Stern solange bis du ein "e" liest.
Wenn die Zeichen dann mal nicht übereinstimmen ist das Wort nicht gültig.
 
java.util.regex sollte ganz brauchbar für deine Aufgabe sein.
Pattern (Java 2 Platform SE v1.4.2)

Java:
Pattern.matches("Die.*er T.* geht","Dieser Test geht");

edit: Ich hab dir mal ein vollständiges Programm geschrieben:
Java:
import java.util.regex.Pattern;

public class RegexExample {
	public static void main(String args[])
	{
		Pattern pattern=Pattern.compile("Die.*er T.* geht");
		
		String[] strings=new String[]{
			"Dieser Test geht",
			"Dieser Tag geht",
			"Dieser Tag steht"
		};
		
		for(String s:strings)
		{
			System.out.println(pattern.matcher(s).matches()+" @ '"+s+"'");
		}
	}
}
 
Zuletzt bearbeitet:

Zurück
Oben