[解決済み] ワイルドカードを使用した文字列のマッチング
2023-05-09 21:20:04
質問
ワイルドカード(*)を使った文字列のマッチングを行いたいのですが、ワイルドカードは "any"を意味します。例えば
*X = string must end with X
X* = string must start with X
*X* = string must contain X
などの複合的な使い方もある。
*X*YZ* = string contains X and contains YZ
X*YZ*P = string starts with X, contains YZ and ends with P.
これを行うための簡単なアルゴリズムはありますか? 正規表現を使うのは不安です(可能性はありますが)。
はっきり言って、ユーザーは上記の内容をフィルターボックスに入力する(できるだけシンプルなフィルター)ので、自分で正規表現を書く必要はないと思っています。 だから、私が上記の記法から簡単に変換できるものが良いだろう。
どのように解決するのですか?
VB.NETの ライクオペレータ :
string text = "x is not the same as X and yz not the same as YZ";
bool contains = LikeOperator.LikeString(text,"*X*YZ*", Microsoft.VisualBasic.CompareMethod.Binary);
使用方法
CompareMethod.Text
を使ってください。
を追加する必要があります。
using Microsoft.VisualBasic.CompilerServices;
と
への参照を追加します。
Microsoft.VisualBasic.dll
.
.NETフレームワークの一部であり、これからもずっとそうなので、このクラスを使っても問題はないでしょう。
関連
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] JavaScriptで複数行の文字列を作成する
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] と'is'のどちらかを使って文字列を比較すると、異なる結果になることがあるのはなぜですか?
-
[解決済み] grepによるネガティブマッチング(fooを含まない行にマッチする)
-
[解決済み] Bashで文字列を比較する方法
-
[解決済み] 文字列の一覧から空の文字列を削除する
-
[解決済み】大文字と数字を含むランダムな文字列の生成
-
[解決済み】CSSでclassにワイルドカード*を使用する場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み】Nullableオブジェクトは値を持たなければならない?