Java

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

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

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

■追記(2022/5/4)
・前方一致にstartWithメソッドの用例
・後方一致にendWithメソッドの用例

 

完全一致

説明

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

コード

 

部分一致(前方一致)

説明

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

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

前方一致部分が固定値の場合、startWithメソッドを使用することができます。
その場合、正規表現での一致判定はできないのでご注意ください。

コード

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

 

部分一致(後方一致)

説明

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

後方一致部分が固定値の場合、endWithメソッドを使用することができます。
その場合、正規表現での一致判定はできないのでご注意ください。

コード

 

部分一致(部分一致)

説明

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

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

コード

 

まとめ

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

 

最後に

独学が難しいと感じていたり、エラーの解消に時間がかかるようだったらオンラインのサポートサービスを検討してみて下さい。
回答率100%の掲示板に質問し放題のオンラインサービス

 

参考(Java Docs)

[Java Docs] String matches(String regex)

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-Java
-, , ,

執筆者:


comment

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

CAPTCHA


関連記事

【Java】HashSet、LinkedHashSet、TreeSetの違い

概要 重複しないリストは、「Setに格納することで重複を除外してくれる」というのは多くの記事で紹介されています。 ここでは、Setに格納した後のデータの並び順も考慮したいという要件に対応するために、3 …

【Java入門】インターフェースの使い方まとめ

概要 インターフェースとは、内部実装を知る必要なく、利用する機能の接点のみを提供する仕組みです。 接点をソフトウェア的にいうと、メソッドのシグネチャと戻り値の型に当たります。 つまり、どんなメソッドに …

【JPA】リレーションの無いエンティティをJPQLで結合する

概要 @ManyToOneや@OneToManyといったリレーションをエンティティに設定していないまたは設定できない状況にあるが、結合した結果を取得したいという状況を想定しています。 方法としては「J …

【Java入門】クラスとインスタンスの違いを分かり易い言葉で説明します。

概要 クラスとインスタンスの違いについて、できるだけ分かり易い言葉や表現で説明します。   クラス 設計書だよ。 以上です。 ほんとマジで。 どんなデータと操作が可能かを決めているだけなので設計書と表 …

【Java入門】クラスの継承、オーバーライド

概要 クラスの継承とは、継承元(親)のフィールド(値)、メソッド(機能)を継承先(子)に引き継がせることです。 継承先(子)では、追加のフィールド(値)、メソッド(機能)を持つことができます。 つまり …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

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

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