I det här inlägget kommer vi att undersöka olika sätt att kontrollera om en sträng innehåller alfanumeriska tecken i Java. Med andra ord, avgöra om en sträng endast består av siffror och alfabet. En nollsträng ska returnera false och en tom sträng ska returnera true.

Java har inte tillhandahållit någon standardfunktion för denna enkla uppgift. Det finns dock flera metoder för att upptäcka om den givna strängen är alfanumerisk i Java –

Regulärt uttryck

Tanken är att använda det reguljära uttrycket ^*$ som kontrollerar strängen för alfanumeriska tecken. Detta kan göras med hjälp av metoden matches() i klassen String som talar om huruvida strängen matchar det givna reguljära uttrycket eller inte.

Download Run Code

Output:
IsAlphaNumeric: true

Om det reguljära uttrycket anropas ofta kanske du vill kompilera det reguljära uttrycket för att öka prestandan:

Download Run Code

Output:
IsAlphaNumeric: true

Lambdauttryck

Från och med Java 8 kan detta göras effektivt med hjälp av lambdauttryck:

Download Run Code

Output:
IsAlphaNumeric: true

Användning av externa bibliotek

Vi kan använda Apache Commons Lang-biblioteket som har en metod som heter isAlphanumeric() som ingår i klassen StringUtils.

Naivt

I vanlig Java kan vi iterera över tecknen i strängen och kontrollera att varje tecken är alfanumeriskt med hjälp av Character.isLetterOrDigit(char). Detta demonstreras nedan:

Download Run Code

Output:
IsAlphaNumeric: true

(6 röster, medelvärde: 5,00 av 5)

Tack för att du läste.

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.