ユーザ用ツール

サイト用ツール


プログラミング:java:基本:文字列操作

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
プログラミング:java:基本:文字列操作 [2018/06/10 08:56]
sotoyama
プログラミング:java:基本:文字列操作 [2018/06/10 13:05] (現在)
sotoyama
ライン 12: ライン 12:
 ==== 文字列判定 ==== ==== 文字列判定 ====
  
-  ​  ​+用途 ​                 ​メソッド ​                                
-|   ​| ​  |+指定文字列を含むか判定 ​        | 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) ​ | 
 + 
 +<code java> 
 +String s = "​abcdefghijklmn";​ 
 + 
 +System.out.println("​3文字目以降: ", s.substring(3));​ 
 +System.out.println("​3文字目から4文字: ", s.substring(3,​ 7)); 
 +</​code>​ 
 + 
 +<code prompt>​ 
 +3文字目以降: defghijklmn 
 +3文字目から4文字: defg 
 +</​code>​ 
 + 
 + 
 +==== 文字列編集 ==== 
 + 
 +^ 用途 ​       ^ メソッド ​                                               ^ 
 +| 小文字に変換 ​   | 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>​ 
  
プログラミング/java/基本/文字列操作.1528620972.txt.gz · 最終更新: 2018/06/10 08:56 by sotoyama