Java檢查字符串的第一個字母是否為大寫

一、簡介

在這個簡短的教程中,我們將熟悉在 Java 中檢查字符串的第一個字母是否為大寫的不同選項。

2. 例子

首先,我們將從定義我們將在所有解決方案中使用的示例字符串開始:

String example = "Katie";

因此,示例字符串只是一個大寫的名稱。現在,讓我們檢查檢查第一個字母是否為大寫的選項。

3. 核心Java解決方案

我們將熟悉的第一個解決方案不需要新的依賴項。我們將使用java.lang包中CharacterisUpperCase方法:

public static boolean isUpperCase(int codePoint);

此方法採用單個字符並確定它是否為大寫字符。

對於我們的例子,我們只需要提取字符串中的第一個字符。首先,我們將使用charAt方法進行提取。然後,我們將調用isUpperCase方法:

Assertions.assertTrue(Character.isUpperCase(example.charAt(0)));

這個斷言會通過,因為我們示例字符串中的第一個字母是大寫字符。

4.Guava解決方案

另一個解決方案可以在 Guava 庫中找到。我們需要使用Ascii類中isUpperCase方法來檢查字符串的第一個字母是否為大寫。

第一步是添加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)));

這種方法實際上與第 2.1 章中的核心 Java 解決方案相同。如果沒有特殊原因,最好使用不需要額外依賴項的解決方案。

5. 使用正則表達式

在輸入字符串中查找匹配項時,正則表達式是一種常見的解決方案。因此,我們將使用它們來檢查字符串中的第一個字符是否為大寫。

與之前的解決方案一樣,這個解決方案不需要添加新的依賴項。 java.util.regex包中已經提供了正則表達式。然而,為了方便檢查模式是否匹配,我們將添加對Hamcrest的依賴,Hamcrest 是一個廣泛使用的單元測試框架:

<dependency>
 <groupId>org.hamcrest</groupId>
 <artifactId>hamcrest</artifactId>
 <version>2.2</version>
 </dependency>

下一步是定義匹配模式。對於我們的例子,我們需要一個模式來匹配字符串以大寫字符開頭而其他字符可以是大寫、小寫或數字。然後,我們只需要檢查模式是否與我們的示例字符串匹配:

String regEx = "[AZ]\\w*";
 assertThat(example, matchesPattern(regEx));

六,結論

在本文中,我們檢查了用於檢查第一個字母是否為大寫的不同解決方案。

首先,我們討論了核心 Java 中可用的解決方案。後來,我們看到瞭如何使用正則表達式執行檢查。最後,我們展示了 Guava 庫中的解決方案。