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.
.