目次

文字列操作

文字列判定

用途 メソッド
内容比較(大小文字区別あり) 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

正規表現も指定可能

String s = "abc,def";
String[] words = s.split(",");
 
for (String w : words) {
    System.out.println(w);
}
abc
def

文字列置換

replaceAll

正規表現も指定可能

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);