Check if the First Letter of a String is Uppercase – 检查一个字符串的第一个字母是否为大写字母

最后修改: 2021年 11月 10日

中文/混合/英文(键盘快捷键:t)

1. Introduction

1.绪论

In this short tutorial, we’ll get familiar with different options for checking if the first letter of a string is uppercase in Java.

在这个简短的教程中,我们将熟悉在Java中检查一个字符串的第一个字母是否大写的不同选项

2. Example

2.例子

Firstly, we’ll start with defining the example string we’ll use in all solutions:

首先,我们将从定义我们将在所有解决方案中使用的示例字符串开始。

String example = "Katie";

So, the example string is just a name that is capitalized. Now, let’s inspect the options for checking if the first letter is uppercase.

所以,例子中的字符串只是一个被大写的名字。现在,让我们检查一下检查第一个字母是否为大写的选项。

3. Core Java Solution

3.核心Java解决方案

The first solution we’ll get familiar with does not require a new dependency. We’ll use the isUpperCase method from the Character class in the java.lang package:

我们将熟悉的第一个解决方案不需要一个新的依赖关系。我们将使用isUpperCase方法,它来自java.lang包中的Character类。

public static boolean isUpperCase(int codePoint);

This method takes a single character and determines if it is an uppercase character.

该方法接收一个字符并确定其是否为大写字母。

For our case, we just need to extract the first character in a string. First, we’ll do the extraction with the charAt method. Then, we’ll call the isUpperCase method:

对于我们的例子,我们只需要提取一个字符串中的第一个字符。首先,我们将用charAt 方法进行提取。然后,我们将调用isUpperCase方法。

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

This assertion will pass since the first letter in our example string is an uppercase character.

这个断言将被通过,因为我们的例子字符串中的第一个字母是一个大写的字符。

4. Using Regular Expressions

4.使用正则表达式

Regular expressions are a common solution when it comes to finding a match in an input string. Therefore, we’ll use them to check if the first character in a string is an uppercase.

正规表达式是在输入字符串中寻找匹配的常用解决方案。因此,我们将使用它们来检查一个字符串中的第一个字符是否是大写字母。

Like the previous solution, this one doesn’t require adding a new dependency. Regular expressions are already available in the java.util.regex package.

和之前的解决方案一样,这个方案不需要添加新的依赖。正则表达式已经在java.util.regex包中可用。

The next step is to define the pattern for matching. For our case, we need a pattern that would match if a string starts with an uppercase character while the other characters can be both uppercase, lowercase, or digits. Then, we just need to check if the pattern matches with our example string:

下一步是定义用于匹配的模式。对于我们的例子,我们需要一个模式,如果一个字符串以大写字母开始,而其他字符可以是大写、小写或数字,就可以匹配。然后,我们只需要检查该模式是否与我们的示例字符串匹配。

String regEx = "[A-Z]\\w*";
Assertions.assertTrue(example.matches(regEx));

5. Guava Solution

5.番石榴溶液

Another solution can be found in the Guava library. We’ll need to use the isUpperCase method from the Ascii class to check if the first letter of a string is uppercase.

另一个解决方案可以在Guava库中找到。我们将需要使用Ascii类中的isUpperCase方法 来检查一个字符串的第一个字母是否是大写的

The first step is to add the Guava dependency:

第一步是添加Guava依赖性。

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.0.1-jre</version>
</dependency>

Then, we’ll apply the isUpperCase method to the first letter of our example string:

然后,我们将把isUpperCase方法应用于我们例子中字符串的第一个字母。

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

This approach is practically identical to the core Java solution from chapter 2.1. If there is no particular reason, it is always better to use a solution that doesn’t require additional dependencies.

这种方法实际上与第2.1章中的核心Java解决方案是相同的。如果没有特别的原因,最好是使用不需要额外依赖的解决方案。

6. Conclusion

6.结语

In this article, we’ve inspected different solutions for checking if the first letter is uppercase.

在这篇文章中,我们检查了检查第一个字母是否为大写的不同解决方案。

Firstly, we’ve discussed a solution available in core Java. Later, we saw how we could perform the checking with regular expressions. Finally, we’ve presented the solution from the Guava library.

首先,我们讨论了一个在核心Java中可用的解决方案。后来,我们看到了如何用正则表达式来进行检查。最后,我们介绍了Guava库中的解决方案。

As always, the code for these examples is available over on GitHub.

像往常一样,这些例子的代码可以在GitHub上找到over