- 締切済み
C#でのワイルドカードを使った文字検索
開発初心者です。 文字検索をワイルドカードを使って行いたいと考えています。 例えば、 string x = "ABCDEFGHI" という文字列があったとして 「C***G」という文字列(***はワイルドカード)を検索したいとき、 x.IndexOf(C***G)=2のような結果を出力できるような検索方法を探しています。 ご存知の方がいれば、ご教授宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Yune-Kichi
- ベストアンサー率74% (465/626)
回答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); }