在 Java 中修剪字符串

Rupam Yadav 2023年10月12日
  1. 使用 Java 中的 trim() 方法修剪字符串
  2. 使用 Character.isWhiteSpacewhile 分别从左和右修剪字符串
  3. 使用 Apache Commons 分别从左右修剪字符串
在 Java 中修剪字符串

在本文中,我们将看到如何修剪在起点或终点带有空格的字符串。

使用 Java 中的 trim() 方法修剪字符串

如果我们想从两侧修剪字符串的前导和尾随空格,推荐的修剪方法是使用 trim() 方法。trim() 删除空格并返回一个没有前导空格的字符串。

下面,我们取一个字符串 stringToTrim,该字符串的起点和终点都带有空格。为了检查空格是否被消除,我们在修剪前后打印字符串。加号 (+) 表示空格在字符串中的位置。

当我们调用 stringToTrim.trim() 时,我们注意到空格被删除了。

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    stringToTrim = stringToTrim.trim();
    System.out.println("After trimming +++" + stringToTrim + "+++");
  }
}

输出:

Before trimming +++   This is just an example  +++
After trimming +++This is just an example+++

使用 Character.isWhiteSpacewhile 分别从左和右修剪字符串

我们可以只从一侧修剪字符串,无论是从左侧还是右侧。在这里,我们看到两个示例:一个从左侧修剪,另一个仅从右侧删除空格。

在下面的代码中,我们采用两端带有空格的字符串 stringToTrim。我们取一个 int 变量 i 并用 0 初始化它。然后我们运行一个 while 循环,该循环一直运行直到 i 变量小于 stringToTrim 的长度,并且还使用 Character 检查空白字符.isWhitespace() 并且在方法内部,我们使用 i 值一个一个地传递每个字符。这两个条件都应该满足,如果它们为真,则 i 的值增加 1。

现在我们调用 substring() 来修剪空白字符。substring() 从字符串的左侧开始,因此它修剪字符串的左侧并返回左侧没有空格的字符串。

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    int i = 0;
    while (i < stringToTrim.length() && Character.isWhitespace(stringToTrim.charAt(i))) {
      i++;
    }
    String leftTrim = stringToTrim.substring(i);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After trimming +++" + leftTrim + "+++");
  }
}

输出:

Before trimming +++   This is just an example  +++
After trimming +++This is just an example  +++

在这个例子中,我们采用相同的字符串,但不是用 0 初始化 i,而是用 stringToTrim().length - 1 初始化它,然后在 while 中,我们检查 i 是否大于或等于 0。检查空格的方法是一样的。现在,当条件满足时,我们将 i 变量减一。

由于 substring() 从字符串的左侧开始,我们将起点作为 0 传递,第二个参数是从右侧 i+1 开始的值,它消除了右端的所有空格。

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    int i = stringToTrim.length() - 1;
    while (i >= 0 && Character.isWhitespace(stringToTrim.charAt(i))) {
      i--;
    }
    String rightTrim = stringToTrim.substring(0, i + 1);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After trimming +++" + rightTrim + "+++");
  }
}

输出:

Before trimming +++   This is just an example  +++
After trimming +++   This is just an example+++

使用 Apache Commons 分别从左右修剪字符串

对于本示例,我们使用名为 Apache Commons 的第三方库。要将库包含在我们的项目中,我们使用以下依赖项。

 <dependency>
  	<groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
 </dependency>

要从左侧修剪字符串 stringToTrim,我们使用 StringUtils.stringStart() 并将字符串传递给修剪,并将字符传递给被视为空白的 null。我们使用 StringUtils.stripEnd() 从右侧修剪并遵循相同的过程。

import org.apache.commons.lang3.StringUtils;

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    String leftTrim = StringUtils.stripStart(stringToTrim, null);
    String rightTrim = StringUtils.stripEnd(stringToTrim, null);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After left trimming +++" + leftTrim + "+++");

    System.out.println("After right trimming +++" + rightTrim + "+++");
  }
}

输出:

Before trimming +++   This is just an example  +++
After left trimming +++This is just an example  +++
After right trimming +++   This is just an example+++
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相关文章 - Java String