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.