I dette indlæg vil vi undersøge forskellige måder at kontrollere, om en streng indeholder alfanumeriske tegn i Java. Med andre ord, bestemme, om en streng kun består af tal og alfabeter. En null-streng skal returnere false, og en tom streng skal returnere true.
Java har ikke leveret nogen standardfunktion til denne enkle opgave. Ikke desto mindre er der flere metoder til at registrere, om den givne String er alfanumerisk i Java –
Regulært udtryk
Idéen er at bruge det regulære udtryk ^*$, som kontrollerer strengen for alfanumeriske tegn. Dette kan gøres ved hjælp af matches()-metoden i String-klassen, som fortæller, om denne streng passer til det givne regulære udtryk eller ej.
Download Kør kode
Output:
IsAlphaNumeric: true
Hvis det regulære udtryk kaldes ofte, kan du måske kompilere det regulære udtryk for at øge ydeevnen:
Download Run Code
Output:
IsAlphaNumeric: true
Lambdaudtryk
Fra og med Java 8 kan dette gøres effektivt ved hjælp af lambdaudtryk:
Download Run Code
Output:
Output:
IsAlphaNumeric: true
Anvendelse af eksterne biblioteker
Vi kan bruge Apache Commons Lang-biblioteket, som har en metode kaldet isAlphanumeric(), der er inkluderet i StringUtils-klassen.
Naive
I almindelig Java kan vi iterere over tegn i strengen og kontrollere, om hvert tegn er alfanumerisk ved hjælp af Character.isLetterOrDigit(char). Dette er demonstreret nedenfor:
Download Kør kode
Output:
IsAlphaNumeric: true
(6 stemmer, gennemsnit: 5,00 ud af 5)
Tak for læsning.