Javaにおける文字列操作
メニューを表示するにはスワイプしてください
実際のプログラムでは、文字列は静的なものではなく、常に結合、検索、クリーンアップ、変換が行われます。これは文字列操作と呼ばれ、テキストに対して操作を適用し、変更、検査、または情報の抽出を行うことを指します。
文字列の連結
最も単純な操作は連結であり、+演算子を使って文字列同士を結合します。
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { String customerName = "Ann"; String welcomeMessage = "Welcome " + customerName; System.out.println(welcomeMessage); // Welcome Ann } }
他のすべての文字列操作は、メソッド(Javaが提供する組み込みアクション)に基づいています。独自にロジックを書く代わりに、これらのメソッドを呼び出してJavaに処理を任せます。これらは、文字列に直接適用できる既製のツールのようなものです。
length()
文字列に含まれる文字数(スペースも含む)を知りたい場合は、.length() メソッドを使用します。戻り値は int 型です。
Main.java
12345678910111213package com.example; public class Main { public static void main(String[] args) { String customerName = "Ann"; String welcomeMessage = "Welcome " + customerName; int messageLength = welcomeMessage.length(); System.out.println(messageLength); } }
"Welcome Ann" にはスペースを含めて11文字が含まれているため、messageLength には 11 が格納され、それが出力されます。
toUpperCase()
文字列内のすべての文字を大文字に変換する必要がある場合(例:レシートやラベルなど)、.toUpperCase() を使用します。新しい String を返します。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String customerName = "anna"; String upperCaseName = customerName.toUpperCase(); System.out.println(upperCaseName); } }
.toUpperCase() は元の customerName を変更せず、すべての文字を大文字にした新しい String を作成します。したがって、"anna" は "ANNA" になります。
toLowerCase()
すべての文字を小文字にする必要がある場合(整合性や比較ロジックに便利)、.toLowerCase() を使用します。新しい String を返します。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String lowerCaseOrder = order.toLowerCase(); System.out.println(lowerCaseOrder); } }
すべての文字が小文字に変換された新しいStringが作成され、出力は"large latte with oat milk"となります。
contains()
文字列に特定の単語やテキストが含まれているかを確認する場合は、.contains()を使用します。booleanを返します。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; boolean containsLatte = order.contains("Latte"); System.out.println(containsLatte); } }
.contains() は文字列全体を走査し、"Latte" がどこかに含まれているかを確認します。含まれているため、結果は true となります。
isEmpty()
文字列に内容がまったく含まれているかどうかを確認する場合は、.isEmpty() を使用します。文字列に文字が含まれていない場合は true を返し、それ以外の場合は false を返します。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String customerNote = ""; boolean emptyNote = customerNote.isEmpty(); System.out.println(emptyNote); } }
customerNote は文字が含まれていない空の文字列であるため、.isEmpty() は true を返します。
replace()
文字列全体を書き換えることなく一部を置き換えたい場合は、.replace() を使用します。指定したテキストを見つけて新しい内容に置き換えます。新しい String を返します。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String updatedMessage = order.replace("Latte", "coffee with milk"); System.out.println(updatedMessage); } }
.replace() は、"Latte" 内のすべての order を見つけて "coffee with milk" に置き換え、"Large coffee with milk with oat milk" を生成します。
charAt() とインデックス指定
文字列内の特定の位置にある1文字にアクセスする場合は、.charAt() を使用。char を返します。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String customerName = "Daniel"; char firstLetter = customerName.charAt(0); System.out.println(firstLetter); } }
.charAt(0) は位置 0、つまり最初の文字 'D' にアクセスし、それを char 型の変数 firstLetter に格納します。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください