• 締切済み

C#でのワイルドカードを使った文字検索

開発初心者です。 文字検索をワイルドカードを使って行いたいと考えています。 例えば、 string x = "ABCDEFGHI" という文字列があったとして 「C***G」という文字列(***はワイルドカード)を検索したいとき、 x.IndexOf(C***G)=2のような結果を出力できるような検索方法を探しています。 ご存知の方がいれば、ご教授宜しくお願いします。

みんなの回答

回答No.1

ワイルドカードとは違いますが,正規表現を使えばよいのではないでしょうか。 var reegx = new Regex("C.*G"); // 正規表現が固定ならば,staticメンバ化してRegexOptions.Compliedつけるのも案の一つ。 foreach (Match match in regex.Matches(x)) { Console.WriteLine("Index = {0}, Length = {1}, Value = {2}", match.Index, match.Length, match.Value); }

関連するQ&A