クラス HybsContains
java.lang.Object
org.opengion.fukurou.util.HybsContains
HybsContains.java は、指定の AND OR 形式の文字列が含まれるかどうかを判定するクラスです。
AND OR 形式の文字列 とは、「AAA BBB」は、AAA とBBB のAND形式、「CCC OR DDD」は、
CCC と DDD のOR形式になります。
優先順位を付ける"(" などは使えません。常に、OR で分解後、スペース分解で、AND因子を求めます。
例)
AAA BBB OR CCC ⇒「AAA BBB」OR 「CCC」
AAA OR BBB CCC ⇒「AAA」OR 「BBB CCC」
判定方法は、ノーマル、大文字小文字を区別しない、全角半角を正規化するを指定します。
- 導入されたバージョン:
- JDK17.0,
-
コンストラクタの概要
コンストラクタコンストラクタ説明HybsContains
(String andOrStr) コンストラクター AND OR 形式の文字列 を指定します。HybsContains
(String andOrStr, boolean isIgnoreCase, boolean isNormalize) コンストラクター -
メソッドの概要
-
コンストラクタの詳細
-
HybsContains
コンストラクター AND OR 形式の文字列 を指定します。「OR」は、大文字固定で前後に半角スペースを入れます。 AND の連結は、スペースで区切ります。OR の分割には、String#split を使いますが、ANDの 分割は、CSVTokenizer を使用するため、"xxx yyy"などで一連の文字列として処理できます。 スペースで分割するため、ダブルクオートで括っても 前後のスペースは削除されます。- パラメータ:
andOrStr
- AND OR 形式の文字列- 変更履歴:
- 8.5.0.0 (2023/04/21)
-
HybsContains
コンストラクター- パラメータ:
andOrStr
- AND OR 形式の文字列isIgnoreCase
- true で大文字小文字を区別しないisNormalize
- true でNormalize変換を使用する- 変更履歴:
- 8.5.0.0 (2023/04/21)
-
-
メソッドの詳細
-
contains
指定の文字列に、コンストラクタで指定したAND OR文字列が含まれるか判定します。 注意点としては、通常の String#contains() とは、引数が逆です。 つまり、このメソッドの引数がベースとなって判定します。 (通常の String#contains() は、引数が判定される部分文字列です)- パラメータ:
value
- 判定のベースとなる文字列- 戻り値:
- AND OR文字列が含まれる場合は、true
- 変更履歴:
- 8.5.0.0 (2023/04/21)
-
changeValue
指定の文字列に、コンストラクタで指定したAND OR文字列が含まれる場合、tag1 とtag2 で囲んだ。 文字列で置換した結果を返します。文字列が含まれない場合は、null を返します。 このメソッドでは、各種置換後(大文字化や正規化)の文字列を返しますので、 オリジナルの文字列と異なるのでご注意ください。- パラメータ:
value
- 判定のベースとなる文字列tag1
- 置換する場合の前文字列tag2
- 置換する場合の後文字列- 戻り値:
- value 置換後の文字列(含まれない場合は、null)
- 変更履歴:
- 8.5.0.0 (2023/04/21)
-