1. Введение
В этом кратком руководстве мы познакомимся с различными вариантами проверки того, является ли первая буква строки в верхнем регистре в Java .
2. Пример
Во-первых, мы начнем с определения строки примера, которую мы будем использовать во всех решениях:
String example = "Katie";
Таким образом, строка примера — это просто имя с заглавной буквы. Теперь давайте рассмотрим варианты проверки того, является ли первая буква прописной.
3. Базовое Java-решение
Первое решение, с которым мы познакомимся, не требует новой зависимости. Мы будем использовать метод isUpperCase
из класса Character в пакете
java.lang
:
public static boolean isUpperCase(int codePoint);
Этот метод принимает один символ и определяет, является ли он символом верхнего регистра.
В нашем случае нам просто нужно извлечь первый символ в строке. Сначала мы выполним извлечение методом charAt
. Затем мы вызовем метод isUpperCase
:
Assertions.assertTrue(Character.isUpperCase(example.charAt(0)));
Это утверждение пройдет, так как первая буква в строке нашего примера является прописной.
4. Использование регулярных выражений
Регулярные выражения — обычное решение, когда нужно найти совпадение во входной строке. Поэтому мы будем использовать их, чтобы проверить, является ли первый символ в строке прописным.
Как и предыдущее решение, это не требует добавления новой зависимости. Регулярные выражения уже доступны в пакете java.util.regex
.
Следующим шагом является определение шаблона для сопоставления. В нашем случае нам нужен шаблон, который будет соответствовать, если строка начинается с символа верхнего регистра, а другие символы могут быть как прописными, так и строчными или цифрами . Затем нам просто нужно проверить, соответствует ли шаблон строке нашего примера:
String regEx = "[A-Z]\\w*";
Assertions.assertTrue(example.matches(regEx));
5. Раствор гуавы
Другое решение можно найти в библиотеке Guava . Нам нужно будет использовать метод isUpperCase
из класса Ascii
, чтобы проверить, является ли первая буква строки прописной .
Первый шаг — добавить зависимость Guava :
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
Затем мы применим метод isUpperCase
к первой букве строки нашего примера:
Assertions.assertTrue(Ascii.isUpperCase(example.charAt(0)));
Этот подход практически идентичен базовому решению Java из главы 2.1. Если нет особой причины, всегда лучше использовать решение, не требующее дополнительных зависимостей.
6. Заключение
В этой статье мы рассмотрели различные решения для проверки того, является ли первая буква прописной.
Во-первых, мы обсудили решение, доступное в ядре Java. Позже мы увидели, как можно выполнять проверку с помощью регулярных выражений. Наконец, мы представили решение из библиотеки Guava.
Как всегда, код этих примеров доступен на GitHub .