W tym poście, będziemy badać różne sposoby, aby sprawdzić, czy ciąg zawiera znaki alfanumeryczne w Javie. Innymi słowy, określimy czy ciąg składa się tylko z liczb i alfabetów. Ciąg null powinien zwrócić false, a pusty String powinien zwrócić true.

Java nie dostarczyła żadnej standardowej funkcji dla tego prostego zadania. Niemniej jednak istnieje kilka metod wykrywania, czy podany String jest alfanumeryczny w Javie –

Wyrażenie regularne

Pomysł polega na użyciu wyrażenia regularnego ^*$, które sprawdza łańcuch w poszukiwaniu znaków alfanumerycznych. Można to zrobić za pomocą metody matches() klasy String, która mówi, czy ten ciąg pasuje do podanego wyrażenia regularnego, czy nie.

Download Run Code

Output:
IsAlphaNumeric: true

Jeśli wyrażenie regularne jest często wywoływane, możesz chcieć skompilować wyrażenie regularne dla zwiększenia wydajności:

Download Run Code

Output:
IsAlphaNumeric: true

Wyrażenia lambda

Od Javy 8 można to efektywnie zrobić za pomocą wyrażeń lambda:

Download Run Code

Output:
IsAlphaNumeric: true

Używanie zewnętrznych bibliotek

Możemy użyć biblioteki Apache Commons Lang, która ma metodę o nazwie isAlphanumeric() zawartą w klasie StringUtils.

Naive

W zwykłej Javie możemy iterować po znakach String i sprawdzać, czy każdy znak jest alfanumeryczny, używając Character.isLetterOrDigit(char). Jest to zademonstrowane poniżej:

Download Run Code

Output:
IsAlphaNumeric: true

(6 głosów, średnia: 5.00 na 5)

Dzięki za przeczytanie.

.

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.