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 を使用して、文字列を左右から別々にトリミングする

文字列は、左側からでも右側からでも、片側からトリミングできます。ここに 2つの例があります。1つは左側からトリミングし、もう 1つは右側からスペースを削除するだけです。

次のコードでは、両端にスペースがある文字列 stringToTrim を使用します。int 変数 i を取得し、0 で初期化します。次に、i 変数が stringToTrim の長さより小さくなるまで実行される while ループを実行し、Character を使用して空白文字をチェックします。.isWhitespace() およびメソッド内で、i 値を使用してすべての文字を 1つずつ渡します。両方の条件が満たされている必要があり、それらが真の場合、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  +++

この例では、同じ文字列を使用しますが、i を 0 で初期化する代わりに、stringToTrim().length - 1 で初期化し、while で、i がまたはより大きいかどうかを確認します。0 に等しい。空白をチェックする方法は同じです。これで、条件が満たされたら、i 変数を 1つ減らします。

substring() は文字列の左側から始まるため、開始点を 0 として渡します。2 番目の引数は、右端からすべての空白を削除する右 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