ユーザ用ツール

サイト用ツール


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

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
プログラミング:java:基本:文字列操作 [2018/06/10 08:48]
sotoyama [テーブル]
プログラミング:java:基本:文字列操作 [2018/06/10 13:05] (現在)
sotoyama
ライン 1: ライン 1:
 ===== 文字列操作 ===== ===== 文字列操作 =====
  
-==== 文字列比較 ​====+==== 文字列判定 ​====
  
 ^ 用途 ​             ^ メソッド ​                                      ^ ^ 用途 ​             ^ メソッド ​                                      ^
 | 内容比較(大小文字区別あり) ​ | public boolean equals(Object o)            | | 内容比較(大小文字区別あり) ​ | public boolean equals(Object o)            |
 | 内容比較(大小文字区別なし) ​ | public boolean equalsIgnoreCase(String s)  | | 内容比較(大小文字区別なし) ​ | public boolean equalsIgnoreCase(String s)  |
-| 文字列長取得 ​         | public int length() ​                       |+| 文字列長 ​         | public int length() ​                       |
 | 空文字判定 ​          | public boolean isEmpty() ​                  | | 空文字判定 ​          | 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) ​ |
  
 <code java> <code java>
 +String s = "​abcdefghijklmn";​
 +
 +System.out.println("​3文字目以降: ", s.substring(3));​
 +System.out.println("​3文字目から4文字: ", s.substring(3,​ 7));
 </​code>​ </​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/基本/文字列操作.1528620509.txt.gz · 最終更新: 2018/06/10 08:48 by sotoyama