# String auf Muster prüfen



## Garden (21. Jun 2010)

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!


----------



## Gast2 (21. Jun 2010)

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.


----------



## Drake (21. Jun 2010)

@Eike

"diesbetreffender Textausschnitt geht" bei dir nicht durch


----------



## anonym (21. Jun 2010)

Sieh dir mal RegEx (Regular Expressions) an.


----------



## agentone (21. Jun 2010)

java.util.regex sollte ganz brauchbar für deine Aufgabe sein.
Pattern (Java 2 Platform SE v1.4.2)


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

edit: Ich hab dir mal ein vollständiges Programm geschrieben:

```
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+"'");
		}
	}
}
```


----------



## ARadauer (21. Jun 2010)

wenn du ein Problem hast und jemand sagt dir, du sollst es mit RegEx lösen... dann hast du zwei Probleme ;-)

Nein so schlimm ist es nicht.. ich finde das Regular expressions simplify pattern-matching code - JavaWorld gibt einen sehr guten Einstieg...


----------

