Перейти к основному содержимому

Проверить, является ли первая буква строки прописной

· 3 мин. чтения

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 .