Java

【Java】文字列の完全一致と部分一致を判定する方法

投稿日:2019年9月11日 更新日:

Stringオブジェクトのmatches、containsメソッドを使った説明です。
戻り値:boolean

 

完全一致

説明

完全一致は文字列が同じであることを判定するだけです。
そのため、正規表現は使わずに判定します。

コード

 

部分一致(前方一致)

説明

前方一致には、「^(ハットマーク)」を使います。
※帽子のような形をしているため、ハット(hat)と呼んでいます。

「^」は文字列の最初であることを示す記号です。
「^123.*」のように、最初がどんな文字列と一致しているべきかを指定します。

<補足>
「.(ドット)」
 何らかの1文字です。
 どんな文字でもかまいませんが、1文字が必ずあることを示します。
 
「*(アスタリスク)」
 直前の文字の0回以上の繰り返しです。
 つまり、「.*」は「.」が0回以上繰り返されるということです。
 0回もあり得るため、繰り返さないパターンも含みます。
 (例)
  正規表現:^123.*
  Trueになるパターン:123、1234、123AAAA

コード

 

部分一致(後方一致)

説明

後方一致には、「$(ドル)」を使います。
「$」は文字列の最後であることを示す記号です。
「.*890$」のように、最後がどんな文字列と一致しているべきかを指定します。

コード

 

部分一致(部分一致)

説明

部分一致には、「^」と「$」を使います。
「.*456.*$」のように、最初から最後までの間に指定した文字列が含まれるように指定します。

正規表現以外に、containsメソッドを使う方法もあります。
(例)
str4.contains(“444”);
文字列に、”444″が含まれていればTrueを返します。

コード

 

まとめ

・完全一致は、文字列が全く同じであること。
・部分一致には、前方/後方/部分一致がある。
・前方一致には、^を使う。
・後方一致には、$を使う。
・部分一致には、^と$を使った正規表現か、containsメソッドで判定できる。
・.と*で、任意の文字を指定して、柔軟な判定ができる。

 

参考(Java Docs)

[Java Docs] String matches(String regex)

-Java
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

【SpringBootチュートリアル】#4~ headerの作成と埋め込み

概要 全ての画面で使用するヘッダーを作成します。 そして、Index画面に埋め込むところまでを行います。 共通ヘッダーの作成

・&lt …

オブジェクト指向とは何なのかを簡単に説明してみる

オブジェクト指向とは何なのか? これを私の理解を元に、ごくごく簡単に説明してみたいと思います。   オブジェクト指向とは? オブジェクト指向とは何かを説明するために、 「オブジェクト」と「指 …

【SpringBootチュートリアル】#9~ 更新画面の作成

※2021/01/09  画面遷移等のバックエンド側の内容が抜けていたので追記しました。 概要 検索結果一覧から編集ボタン押下で遷移してくる更新画面です。 遷移時(初期表示時)には、編集ボタンを押下し …

elseを使わないことでパフォーマンスが下がる場合の対処法

  状況 前回記事(なぜelse、else ifを書かないようにすべきなのか?)のような ifのみで判定されており、それがfor文等の繰り返し処理の中にある場合は パフォーマンスが下がる。 …

SpringでNotNullなどのバリデーションが効かないときの対処法

状況 フィールドに入っている値は空文字なのに、 @NotNull, @NotEmpty, @NotBlankでエラーとして検知されない。 (BindingResultでhasErroe=0件となる) …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。