目次
1.文字列の切り出し編
2.文字列のチェック編
3.文字列の変換編
1. 文字列の切り出し編
Stringクラスのsubstringメソッド
String str = "ABCD/12345";
System.out.println(str.substring(5));
引数を1つ指定する場合、引数で指定した位置から最後までの文字列を返す。※位置はAの前から0から数える
出力結果は12345
String str = "ABCD/12345";
System.out.println(str.substring(5, 8));
引数を2つ指定する場合、引数で指定した開始位置から終了位置までの文字列を返す。※位置はAの前から0から数える
出力結果は123
StringクラスのindexOfメソッドと併用して切り出す方法
String str = "ABCD/12345";
int index = str.indexOf("/") + 1;
System.out.println(str.substring(index));
indexOfの位置の数え方は、subStringと異なり1から数えるため、subStringで使用する際+1が必要。
出力結果は12345(+1しない場合は「/12345」が返る)
2. 文字列のチェック編
StringクラスのstartsWithメソッドで先頭文字のチェック
String str = "ABCD/12345";
System.out.println(str.startsWith("ABC"));
"ABCD/12345"がstartsWithに指定された文字列で始まるかどうかをチェック。
出力結果はtrue
StringクラスのendsWithメソッドで末尾文字のチェック
String str = "ABCD/12345";
System.out.println(str.endsWith("345"));
"ABCD/12345"がendsWithに指定された文字列で終わるかどうかをチェック。
出力結果はtrue
Stringクラスのmatchesメソッドと正規表現で文字列が数字かどうかのチェック
String str = "ABCD/12345";
System.out.println(str.substring(5, 6).matches("[0-9]"));
str.substring(5, 6)で切り出されるのは文字列の1。
"[0-9]"は、正規表現で「1文字の数字」を表します。
出力結果はtrue
※その他正規表現は下記記事が分かりやすかったため、参考としてこちらに記載させていただきます。
DoubleクラスのparseDoubleメソッドで文字列が数字かどうかのチェック
String str = "ABCD/12345";
try {
Double.parseDouble(str.substring(5));
System.out.println("この文字列は数字です");
} catch (NumberFormatException e) {
System.out.println("この文字列は数字ではりません");
}
str.substring(5)で切り出されるのは文字列12345。
これをDoubleクラスのparseDoubleメソッドで、数値のDouble型に変換します。
変換できない場合は例外をスローします。(数字でない文字列やnullは変換不可)
出力結果はこの文字列は数字です
正規表現で数字の桁数チェック
String str = "ABCD/12345";
System.out.println(str.substring(5).matches("[0-9]{5}"));
str.substring(5)で切り出されるのは文字列12345。
"[0-9]{5}"は、正規表現で「5桁の数字」を表します。
出力結果はtrue
Stringクラスのlengthメソッドで数字の桁数チェック
String str = "ABCD/12345";
System.out.println(str.substring(5).length());
str.substring(5)で切り出されるのは文字列12345。
Stringクラスのlengthメソッドで、文字列の長さを取得し桁数確認をおこないます。
出力結果は5
3. 文字列の変換編
IntegerクラスのparseIntメソッド
String str = "ABCD/12345";
System.out.println(Integer.parseInt(str.substring(5, 8)));
str.substring(5, 8)で切り出されるのは文字列123。
この123は文字列のため、parseIntで数値に変換します。
出力結果は123
数値を文字列に変換する際はStringクラスのvalueOfメソッドを使用
int num = 12345;
System.out.println(String.valueOf(num));
今度はint型からString型への変換です。
valueOfで12345を、数値から文字列に変換しています。
出力結果は12345