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


関連記事

【Spring】バリデーション時に、入力値を保持する方法

登録画面で「登録」ボタンを押した後、 バリデーションで引っ掛かってエラーになっても 入力内容を画面に保持して置く方法についてです。 テンプレートエンジンは、Tymeleafを使用しています。 方法とし …

Springメモ(あれ、どうすんだっけ?)

@Autowiredアノテーションをつけることができる箇所(3つ) ・フィールド変数 ・コンストラクタの引数 ・setterの引数 ※引用 【後悔しないための入門書】Spring解体新書: Sprin …

【Java】オブジェクト指向の練習題材(会計オブジェクト)

前回記事、オブジェクト指向とは何なのかを簡単に説明してみるの練習題材です。 ここでは3つのオブジェクトを作成していきます。 – 会計オブジェクト:会計金額の算出 – 請求書オブ …

【Spring】JSの変更を反映させる方法

Spring Bootのおいて、JavaScriptの変更を反映させる方法です。   設定 application.properties application.propertiesに、以下 …

pageEncodingとcontentTypeのcharsetの違い

pageEncodingとcontentTypeのcharsetは処理されるタイミングが異なります。 それによって文字化けの原因につながっているので、どのように設定すればいいかを解説していきます。 違 …

SpringFramworkの良書

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

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