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


関連記事

オブジェクト指向でじゃんけんを作ってみる

最近、プログラム自体を書いていない時間を多いので、再勉強がてら少しコードを書いてみました。 何を作ったか? テーマ:じゃんけん(1対1) 言語:Java OOPで考慮したこと ・ゲームを管理するコント …

Thymeleafで1000円単位をカンマ区切りで表示する方法

Thymeleaf(テンプレートエンジン)で金額などの数値を 1000円単位のカンマ区切りで表示する方法です。 ここでは、カンマ区切りの機能はオブジェクト側で実装し、 Tymeleaf(View)は表 …

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

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

Jacksonで日付がずれる場合、Timezone設定を直す

現象 JacksonでCSV出力する際、日付がズレて出力される。   原因 タイムゾーンの設定がTokyo/Asiaになっていない。   対策 application.proper …

【Java】TreeSetの使い方(順序付けSet)

TreeSetの使い方 基本的な使い方はHashSetと同じなので、以下を参照下さい。 【Java】HashSetの使い方いろいろ TreeSetは何も指定せずにインスタンスを生成すると、Collec …

記事を探す

SpringFramworkの良書

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

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