dポイントプレゼントキャンペーン実施中!

開発初心者です。

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

ご存知の方がいれば、ご教授宜しくお願いします。

A 回答 (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);
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!