1
1

More than 1 year has passed since last update.

よく使う文字列の切り出し、チェック、変換方法まとめ

Last updated at Posted at 2022-12-13

目次

 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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1