===== 文字列操作 =====
==== 文字列判定 ====
^ 用途 ^ メソッド ^
| 内容比較(大小文字区別あり) | public boolean equals(Object o) |
| 内容比較(大小文字区別なし) | public boolean equalsIgnoreCase(String s) |
| 文字列長 | public int length() |
| 空文字判定 | public boolean isEmpty() |
==== 文字列判定 ====
^ 用途 ^ メソッド ^
| 指定文字列を含むか判定 | public boolean contains(String s) |
| 指定文字列で始めるか判定 | public boolean startsWith(String s) |
| 指定文字列で終わるか判定 | public boolean endsWith(String s) |
| 指定文字が最初に登場する位置を判定 | public int indexOf(int ch) |
| 指定文字列が最初に登場する位置を判定 | public int indexOf(String s) |
| 指定文字が最後に登場する位置を判定 | public int lastIndexOf(int ch) |
| 指定文字列が最後に登場する位置を判定 | public int lastIndexOf(String s) |
==== 文字列切り出し ====
^ 用途 ^ メソッド ^
| 指定位置から1文字切り出し | public char charAt(int index) |
| 指定位置から文字列を切り出し | public String substring(int index)\\ public String substring(int index, int endIndex) |
String s = "abcdefghijklmn";
System.out.println("3文字目以降: ", s.substring(3));
System.out.println("3文字目から4文字: ", s.substring(3, 7));
3文字目以降: defghijklmn
3文字目から4文字: defg
==== 文字列編集 ====
^ 用途 ^ メソッド ^
| 小文字に変換 | public String toLowerCase() |
| 大文字に変換 | public String toUpperCase() |
| 前後の空白を除去 | public String trim() |
| 文字列を置換 | public String replace(String before, String after) |
==== 文字列連結 ====
※StringBuilder: シングルスレッド向け、StringBuffer: マルチスレッド向け
=== +演算子による結合 ===
String s = "hoge1" + "hoge2";
=== StringBuilder ===
StringBuilder sb = new StringBuilder();
sb.append("hoge1");
sb.append("hoge2");
String s = sb.toString();
=== StringBuffer ===
StringBuffer sb = new StringBuffer();
sb.append("hoge1");
sb.append("hoge2");
String s = sb.toString();
==== 文字列分割 ====
=== split ===
※[[プログラミング:java:基本:正規表現]]も指定可能
String s = "abc,def";
String[] words = s.split(",");
for (String w : words) {
System.out.println(w);
}
abc
def
==== 文字列置換 ====
=== replaceAll ===
※[[プログラミング:java:基本:正規表現]]も指定可能
String s = "abcd";
String w = s.replaceAll("bc", "X");
System.out.println(w);
aXd
==== String⇔char/byte配列の相互変換 ====
String s = "abcdefg";
char[] data1 = s.toCharArray();
byte[] data2 = s.getBytes(java.nio.Charset.forName("utf-8")); // 文字コードは省略可能
String data3 = new String(data1);