Java中获取字符串中前n个字符的5种方法
在这个简短的教程中,我们将探索在 Java 中获取字符串的前 n 个字符的不同方法。
首先,我们将学习如何使用核心 JDK 方法和类来执行此操作。然后,我们将了解如何使用Apache Commons Lang和Guava等外部库实现相同的结果。
1. 使用Stringsubstring方法
substring ()方法属于String类,并提供了回答我们的核心问题的最简单的解决方案。顾名思义,此方法返回给定 string 的子集作为新字符串。
那么,让我们看看它的实际效果:
@Test |
该方法接受两个参数:beginIndex和en dIndex。beginIndex表示第一个字符的索引,endIndex表示最后一个索引, 该索引是唯一的。
话虽如此,返回的子字符串从指定的 endIndex 开始,并扩展到索引endIndex – 1处的字符。
2. 使用StringsubSequence方法
另一种解决方案是使用subSequence()方法。它返回一个CharSequence对象,该对象保存指定字符串的一部分。
subSequence(start, end)的调用行为与substring(start, end)方法的调用完全相同。那么,让我们看看它的实际效果:
@Test |
类似地,该方法返回字符串“Welcome”的前三个字符“Wel”。我们应该记住,如果beginIndex或endIndex为负数,或者endIndex大于字符串长度,或者beginIndex大于endIndex,则此方法将抛出IndexOutOfBoundsException。
3. 使用Stringchars方法
String类提供chars ()作为检索前 n 个字符的另一个选项。Java 9中引入了这个新方法,用于将给定字符串作为Stream进行操作。
因此,让我们使用另一个测试用例来举例说明chars()方法的使用:
@Test |
简而言之,chars()返回一个包含字符串输入的char值的IntStream 。此外,我们使用limit(3)方法来检索前三个值。然后,我们将collect()与StringBuilder一起使用,从返回值构建一个字符串。
4、使用 Apache Commons Lang
或者,我们可以使用 Apache Commons Lang 库来应对我们的挑战。它附带了一组实用程序类,例如StringUtils,我们可以使用它们来执行字符串操作。
首先,我们将其依赖项添加到pom.xml文件中:
<dependency> |
使用StringUtilssubstring方法
类似地,我们可以使用left()方法来完成相同的结果。此方法返回给定字符串最左边的 n 个字符。
那么,让我们通过一个实际示例来说明如何使用StringUtilsleft :
@Test |
此方法的好处是它是 null 安全的,因为如果指定的字符串输入为null ,它会返回null。
5、使用guava
另一种解决方案是使用番石榴。像往常一样,在开始使用这个库之前,我们需要将其依赖项添加到pom.xml:
<dependency> |
Guava 提供了Asciitruncate方法,我们可以使用它作为获取字符串的第一个字符的解决方法:
@Test |
简而言之,在我们的例子中,此方法将给定的字符串截断为指定的最大长度4。