C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 特定の文字列に対し配列要素が部分一致で含まれるかチェック


(過去ログ 123 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■73710 / inTopicNo.1)  特定の文字列に対し配列要素が部分一致で含まれるかチェック
  
□投稿者/ hl (1回)-(2014/10/24(Fri) 10:31:19)

分類:[C#] 

質問させてください。
特定の文字列に対し、配列の要素が部分一致で1つでも含まれるかを高速にチェックしたいのですが、
C# 文字列 配列 部分一致 あたりでググると下記サンプルが出てきました。

string[] data = { "aaaa", "bbbaaa", "ababab", "asdfaa", ";lkja" };
foreach (string str in Array.FindAll(data, delegate(string s) {return s.IndexOf("aaa") != -1;}))
{
Console.WriteLine(str);
}

実際にやりたい内容は、この逆で、
string[] data = { "aaaa", "bbbaaa", "ababab", "asdfaa", ";lkja" };
のいずれかが、
文字列"aaabbcccddjk;jkjaljga;dj"
に部分一致で含まれるかを高速にチェックして、含まれるか/含まれないかだけの結果を取りたいのです。
※チェックしたい配列は1000個ぐらいあります。

ご教授よろしくお願いします
引用返信 編集キー/
■73711 / inTopicNo.2)  Re[1]: 特定の文字列に対し配列要素が部分一致で含まれるかチェック
□投稿者/ Hongliang (244回)-(2014/10/24(Fri) 10:42:49)
> s.IndexOf("aaa")
の判定を逆にすればいいんでは。
一つでも含まれているかどうか、ならAny拡張メソッドでもいいですけど。
bool contains = data.Any(_ => key.Contains(_));
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -