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.

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.