Constructor and Description |
---|
WildChars() |
Modifier and Type | Method and Description |
---|---|
static boolean |
containsWildChars(String str)
Palauttaa sisältääkö jono str jokerimekrkkejä * tai ?
|
static boolean |
onkoSamat(String str,
String mask)
Testaa ovatko kaksi merkkijonoa samat maskin mielessä
jos ne muutetaan isoille kirjaimille.
|
static boolean |
wildmat(String str,
String mask)
Funktiolla tutkitaan täsmääkö annettu jono verrattavaan maskiin.
|
public WildChars()
public static boolean containsWildChars(String str)
str
- jono jota tutkitaancontainsWildChars(null) === false; containsWildChars("*") === true; containsWildChars("?") === true; containsWildChars("a*b?c") === true;
public static boolean wildmat(String str, String mask)
Funktiolla tutkitaan täsmääkö annettu jono verrattavaan maskiin. Maski saa sisältää seuraavia erikoismerkkejä: * vastaa 0-n merkkiä ? vastaa mitä tahansa yhtä merkkiä Algoritmi: Kysymysmerkki ja tavallinen kirjain normaalisti Jos tulee vastaan tähti joka ei ole jonon lopussa, niin ongelmahan on oikeastaan (koska tähän asti kaikki on ollut oikein) "Onko loppujono sama kuin toisen jonon loppu JOSTAKIN kohdasta alkaen"? Siis kokeillaan sovittaa loppujonoa aliohjelman itsensä (rekursio) avulla kaikkiin mahdollisiin loppupaikkoihin. Esimerkki: str = "Kissa" maski = "*ss*" -> true = "*ss" -> false
str
- jono jota tutkitaanmask
- maski johon verrataanwildmat("kissa","kissa") === true; wildmat("kissa","kiss*") === true; wildmat("kissa","kss*") === false; wildmat("kissa","k*ss*") === true; wildmat("kissa","k***********ss*") === true; wildmat("kissa","*iss*") === true; wildmat("kissa","*kiss*") === true; wildmat("kissa","*kissa*") === true; wildmat("kissa","*k?ss*") === true; wildmat("kissa","kass*") === false; wildmat("","*a") === false; wildmat("","*") === true; wildmat("","") === true; wildmat("a","") === false; wildmat("kissa","KISSA") === false; wildmat("k","k?") === false; wildmat(null,null) === true; wildmat("",null) === false; wildmat(null,"") === false;
public static boolean onkoSamat(String str, String mask)
str
- tutkittava jonomask
- maskionkoSamat("kissa","KISSA") === true; onkoSamat("KISSA","kissa") === true; onkoSamat("kissa","kiss") === false; onkoSamat("KISSA","ki*") === true;