Tässä postauksessa tutkimme eri tapoja tarkistaa, sisältääkö merkkijono aakkosnumeerisia merkkejä Javassa. Toisin sanoen määritetään, koostuuko merkkijono vain numeroista ja aakkosista. Nolla-merkkijonon pitäisi palauttaa false ja tyhjän merkkijonon pitäisi palauttaa true.
Java ei tarjoa mitään vakiofunktiota tähän yksinkertaiseen tehtävään. Javassa on kuitenkin useita menetelmiä, joilla voidaan havaita, onko annettu merkkijono aakkosnumeerinen –
Säännöllinen lauseke
Ajatuksena on käyttää säännöllistä lauseketta ^*$, joka tarkistaa merkkijonon aakkosnumeeristen merkkien varalta. Tämä voidaan tehdä String-luokan matches()-metodilla, joka kertoo, vastaako tämä merkkijono annettua säännöllistä lauseketta.
Lataa Suorita koodi
Tulos:
IsAlphaNumeric: true
Jos säännöllistä lauseketta kutsutaan usein, saatat haluta kääntää säännöllisen lausekkeen suorituskyvyn lisäämiseksi:
Download Run Code
Output:
IsAlphaNumeric: true
Lambda-lausekkeet
Javasta 8 alkaen tämä voidaan tehdä tehokkaasti käyttämällä lambda-lausekkeita:
Lataa Suorita koodi
Tulos:
IsAlphaNumeric: true
Käyttämällä ulkoisia kirjastoja
Voidaan käyttää Apache Commons Lang -kirjastoa, jolla on StringUtils-luokkaan sisältyvä metodi isAlphanumeric().
Naivistinen
Tavallisessa Java-ohjelmassa voidaan käydä läpi merkkijonon merkit ja tarkistaa jokaisen merkin aakkosnumeerinen luokka käyttämällä komentoa: Characters.isLetterOrDigit(char). Tämä on demonstroitu alla:
Lataus Suorita koodi
Tulos:
IsAlphaNumeric: true
(6 ääntä, keskiarvo: 5.00 5:stä)
Kiitokset lukemisesta.