この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
プログラミング:java:基本:文字列操作 [2018/06/10 09:14] sotoyama [テーブル] |
プログラミング:java:基本:文字列操作 [2018/06/10 13:05] (現在) sotoyama |
||
---|---|---|---|
ライン 48: | ライン 48: | ||
| 前後の空白を除去 | public String trim() | | | 前後の空白を除去 | public String trim() | | ||
| 文字列を置換 | public String replace(String before, String after) | | | 文字列を置換 | public String replace(String before, String after) | | ||
+ | |||
+ | |||
+ | ==== 文字列連結 ==== | ||
+ | ※StringBuilder: シングルスレッド向け、StringBuffer: マルチスレッド向け | ||
+ | |||
+ | === +演算子による結合 === | ||
+ | |||
+ | <code java> | ||
+ | String s = "hoge1" + "hoge2"; | ||
+ | </code> | ||
+ | |||
+ | === StringBuilder === | ||
+ | |||
+ | <code java> | ||
+ | StringBuilder sb = new StringBuilder(); | ||
+ | |||
+ | sb.append("hoge1"); | ||
+ | sb.append("hoge2"); | ||
+ | |||
+ | String s = sb.toString(); | ||
+ | </code> | ||
+ | |||
+ | === StringBuffer === | ||
+ | |||
+ | <code java> | ||
+ | StringBuffer sb = new StringBuffer(); | ||
+ | |||
+ | sb.append("hoge1"); | ||
+ | sb.append("hoge2"); | ||
+ | |||
+ | String s = sb.toString(); | ||
+ | </code> | ||
+ | |||
+ | ==== 文字列分割 ==== | ||
+ | |||
+ | === split === | ||
+ | |||
+ | ※[[プログラミング:java:基本:正規表現]]も指定可能 | ||
+ | |||
+ | <code java> | ||
+ | String s = "abc,def"; | ||
+ | String[] words = s.split(","); | ||
+ | |||
+ | for (String w : words) { | ||
+ | System.out.println(w); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code prompt> | ||
+ | abc | ||
+ | def | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== 文字列置換 ==== | ||
+ | |||
+ | === replaceAll === | ||
+ | |||
+ | ※[[プログラミング:java:基本:正規表現]]も指定可能 | ||
+ | |||
+ | <code java> | ||
+ | String s = "abcd"; | ||
+ | String w = s.replaceAll("bc", "X"); | ||
+ | System.out.println(w); | ||
+ | </code> | ||
+ | |||
+ | <code prompt> | ||
+ | aXd | ||
+ | </code> | ||
+ | |||
+ | ==== String⇔char/byte配列の相互変換 ==== | ||
+ | |||
+ | <code java> | ||
+ | String s = "abcdefg"; | ||
+ | |||
+ | char[] data1 = s.toCharArray(); | ||
+ | byte[] data2 = s.getBytes(java.nio.Charset.forName("utf-8")); // 文字コードは省略可能 | ||
+ | |||
+ | String data3 = new String(data1); | ||
+ | </code> | ||