この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
プログラミング:java:基本:文字列操作 [2018/06/10 09:12] sotoyama |
プログラミング:java:基本:文字列操作 [2018/06/10 13:05] (現在) sotoyama |
||
|---|---|---|---|
| ライン 43: | ライン 43: | ||
| ==== 文字列編集 ==== | ==== 文字列編集 ==== | ||
| - | ^ 用途 ^ メソッド ^ | + | ^ 用途 ^ メソッド ^ |
| - | | 指定位置から1文字切り出し | public char charAt(int index) | | + | | 小文字に変換 | public String toLowerCase() | |
| + | | 大文字に変換 | public String toUpperCase() | | ||
| + | | 前後の空白を除去 | public String trim() | | ||
| + | | 文字列を置換 | 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> | ||