CodeGym /Java Blog /ランダム /Java String Trim() メソッド
John Squirrels
レベル 41
San Francisco

Java String Trim() メソッド

ランダム グループに公開済み
2 つの文字列が同じように見えても、実際は同じではない可能性があります。たとえば、先頭と末尾にスペースがある場合があります。コンピューターはそれを「認識」しますが、私たちは認識しません。Java には、文字列から末尾と先頭の空白を削除するための特別なTrim()メソッドがあります。この記事では、 Java プログラムで Java stringrim()メソッドを使用する方法を説明し、いくつかのコード例を示します。

Java String Trim() メソッドのシグネチャ

Java のTrim()メソッドのシグネチャは次のとおりです。
public String trim()
ご覧のとおり、パラメータは取らず、文字列値を返します。元の文字列のコピーを返しますが、先頭と末尾のスペースはすべて削除されます。重要な注意: スペースは、ASCII コードが「U + 0020」以下の任意の文字です。Stringが空の文字シーケンスである場合、またはこのStringオブジェクトによって表される文字シーケンスの最初と最後の文字に空白以外のコードがある場合 (上で定義したとおり)、このStringオブジェクトへの参照が返されます。文字列内のすべての文字がスペースである場合、空の文字列を表すStringオブジェクトが返されます。行の先頭と末尾にスペースがない場合、メソッドは行自体を変更せずに返します。

Java String Trim() メソッドの例

テキストの先頭と末尾にスペースを含む文字列と含まない 2 つの文字列があるとします。テキストは両方の文字列で同じになります。
public class TrimDemo {
   public static void main(String[] args) {
//java string trim() method example

       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";

       //printing the both strings out to make sure they are different
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
       //let's print out two string comparisons. It's false
       //because they are different
       System.out.println(noSpacesString.equals(withSpaceString));
       //trim
       withSpaceString.trim();
       System.out.println(noSpacesString.equals(withSpaceString));
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
   }
}
出力は次のとおりです。
私はセイウチです 私はセイウチです false false 私はセイウチです 私はセイウチです
待って、何?? Javaの文字列trim()メソッドが機能しないようです。最初の 2 つの文字列は、当然のことながら異なります (最初の文字列には余白がなく、2 番目の文字列にはテキストの前に 3 つと後ろに 1 つのスペースがあります)。次に、2 つの行を比較し、結果を出力しました。これらの行は異なるため、これは明らかに誤りです。その後、文字列の端にスペースを入れてトリム メソッドを適用し、文字列を再度比較しました。そして、何らかの理由で再び false が返されました。今では同じになっているはずです。そこで、万が一に備えて、セリフそのものを印刷することにしました。もし奇跡が起きたらどうなるでしょうか?ああ…線は違っていて、今でも残っています。何が問題なのか、もうわかりましたか? 重要なのは、Java の文字列は不変オブジェクトであるということです。したがって、trim()メソッドは元の文字列ではなく、新しい文字列を返します。とにかく、ここではtrim()メソッドをテストする必要があるので、別のプログラムを書きましょう。ここでは、 trim()メソッドの結果として作成された文字列のコピーに名前を付けて操作します。2 つの文字列が等しいかどうかも確認してみましょう。
public class TrimDemo2 {
   public static void main(String[] args) {
       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";
       String result = withSpaceString.trim();
       System.out.println(noSpacesString);
       System.out.println(result);
       System.out.println(noSpacesString.equals(result));
   }
}
出力は次のとおりです。
私はセイウチです 私は本物のセイウチです
ビンゴ!これで期待通りに動作するようになりました。文字列の不変性について覚えておいてください。これはすべての Java 開発者にとって非常に重要です。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION