文字列を分割したり、検索したりなどがStringクラスにあります。正規表現なども時々使うことがあります。
- startsWith
- 文字列中に検索文字列が前方にある
 
- endsWith
- 文字列中に検索文字列が後方にある
 
- indexOf
- 一致したところの0からの先頭インデックスで,一致しない場合は-1
 
- substring
- 文字列をインデックス番号で切り取る
 
- length()
- 文字列の長さ
 
- split
- 文字列を、空白などの文字で区切って取得する
 
- matches
- 正規表現でのパターンマッチ
 
文字列操作
最初に文字列の比較について、
比較には int型 の場合は == などを使いますが、
| 1 2 3 4 5 6 7 8 9 10 | int a = 1; int b = 2; if (a == b){         Log.d("debug","等しい");     }     else{         Log.d("debug","等しくない");     } } | 
文字列は == は使えず、equals() を使います。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | String str1 = "今日はいい天気だな"; String str2 = "今日"; if (str1.equals(str2)){         Log.d("debug","等しい");     }     else{         Log.d("debug","等しくない");     } } // logcat // 等しくない | 
その他に文字列を扱う上で様々なものがあります。
startsWith
文字列中に検索文字列が前方にある
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | String str1 = "今日はいい天気だな"; String str2 = "今日"; String str3 = "天気"; // 文字列中に検索文字列が前方にある if (str1.startsWith(str2)) {     Log.d("debug","前方一致しています"); } else {     Log.d("debug","前方一致していない"); } // logcat // 前方一致しています | 
endsWith
文字列中に検索文字列が後方にある
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | String str1 = "今日はいい天気だな"; String str2 = "今日"; String str3 = "天気"; // 文字列中に検索文字列が後方にある if (str1.endsWith(str3)) {     Log.d("debug","後方一致しています"); } else {     Log.d("debug","後方一致していない"); } // logcat // 後方一致していない | 
indexOf
一致したところの0からの先頭インデックスで,一致しない場合は-1
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | String str1 = "今日はいい天気だな"; String str2 = "今日"; String str3 = "天気"; // 一致したところの0からの先頭インデックスで,一致しない場合は-1 int result1 = str1.indexOf(str3); if (result1 != -1) {     Log.d("debug",result1+"番目の文字から一致しています"); } else {     Log.d("debug", "一致せず"); } // logcat // 5番目の文字から一致しています | 
substring
文字列をインデックス番号で切り取る
| 1 2 3 4 5 6 7 8 9 10 | String str1 = "今日はいい天気だな"; String str2 = "今日"; String str3 = "天気"; // 文字列をインデックスで切り取る String result2 = str1.substring(5, 7); Log.d("debug", "result2="+result2); // logcat // result2=天気 | 
length()
文字列の長さ
| 1 2 3 4 5 6 7 8 9 10 | String str1 = "今日はいい天気だな"; String str2 = "今日"; String str3 = "天気"; // 文字列の長さ int result3 = str1.length(); Log.d("debug", "「"+str1 +"」の文字列長は: "+result3); // logcat // 「今日はいい天気だな」の文字列長は: 9 | 
split
文字列を、空白などの文字で区切って取得する
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | // 文字列を、空白などの文字で区切って取得する String str4 = "book note pen bag"; String[] array = str4.split(" ", 0); for (int i=0;i<array.length; i++){     Log.d("debug", "array["+i+"] = "+array[i]); } // logcat // array[0] = book // array[1] = note // array[2] = pen // array[3] = bag | 
matches
正規表現でのパターンマッチ
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | String str1 = "今日はいい天気だな"; String str2 = "今日"; String str3 = "天気"; // 正規表現 // matches if (str1.matches(".*" + str3 + ".*")) {     Log.d("debug", "部分一致"); } else {     Log.d("debug", "部分一致ではない"); } // logcat // 部分一致 | 
 
Reference:
String | Android Developers
![[Android] String Class 文字列の比較、分割、検索など 1x1.trans - [Android] String Class 文字列の比較、分割、検索など](https://akira-watson.com/wp-content/themes/simplicity2/images/1x1.trans.gif)
