【Java】チートシート【文字列編】

スポンサーリンク

※このページにはプロモーションが含まれています。当サイトは各種アフィリエイトプログラムから一定の収益を得ています。

文字列の種類

// 通常の文字列
String str = "abc";
// 連結時に使うスレッドセーフでない
StringBuilder sb = new StringBuilder("abc");
// 連結時に使うスレッドセーフ
StringBuffer sbuf = new StringBuffer("abc");

連結

Stringでの文字列連結は遅いのでなるべく避ける。

スレッドセーフが必要なケースは少ないので、StringBuilderを使うのが一般的。

str = str + "abc";
sb.append("abc");
sbuf.append("abc");

文字の長さ

str.length();

切り出し

str = "abcde";
// 2~4文字目を切り出し
System.out.println(str.substring(1,4)); // bcd
// 3文字目以降を切り出し
System.out.println(str.substring(2)); // cde

分割

str = "A,B,C,D";

String[] result1 = str.split(",");
System.out.println(Arrays.toString(result1)); // [A, B, C, D]

String[] result2 = str.split(",",2);
System.out.println(Arrays.toString(result2)); // [A, B,C,D]

比較

// 等しいか
boolean boo = str1.equals(str2);

// 大小比較
// str < str2:負の値
// str = str2:0
// str > str2:正の値
int num = str1.compareTo(str2);

置き換え

str = "abcabcabc";

// 文字列中に存在する全てのabcをdefに置き換える
str.replace("abc","def");

// 文字列中に存在する最初のabcをdefに置き換える
str.replaceFirst("abc","def");

// replaceAllは正規表現を使いたい時
// 合致する文字列は全て置き換える
str.replaceAll("\r\n","\r");

特定の文字列が含まれるか

str = "abcabcabc";

// 文字列中に存在する全てのabcをdefに置き換える
str.replace("abc","def");

// 文字列中に存在する最初のabcをdefに置き換える
str.replaceFirst("abc","def");

// replaceAllは正規表現を使いたい時
// 合致する文字列は全て置き換える
str.replaceAll("\r\n","\r");

特定の文字列が含まれているか

// ヒットした文字列のインデックスを返す

// 最初にaが登場するインデックス
str.indexOf("a");
// 2文字目以降で最初にaが登場するインデックス
str.indexOf("a",1);

// 後方から検索して最初にaが登場するインデックス
str.lastIndexOf("a");
// 2文字目以前で最初にaが登場するインデックス
str.lastIndexOf("a",1);

大文字・小文字変換

// 大文字変換
str.toUpperCase();
// 小文字変換
str.toLowerCase();

前後の空白削除

// ここで言う空白は半角スペース・改行・タブ
str.trim();

型変換

// ここで言う空白は半角スペース・改行・タブ
str.trim();

型変換

// 数値変換
Integer.valueOf(str);
Long.valueOf(str);
Double.valueOf(str);
BigDecimal bg = new BigDecimal(str);

関連記事

【Java】チートシート

スポンサーリンク

Java