2016-09-14 9 views
0

単語のリストを繰り返していますので、すべての文字を含む単語を見つける必要があります。私は部分文字列を見つける方法を知っていますが、文字列が互いに隣り合っている単語を見つけることができます。私は文字列が互いに隣り合っていなくてもすべての文字を含んでいるかどうかを判断するものを作りたいと思っています。文字列内のすべての文字が隣り合っていなくても一致します

たとえば、「ent」という文字列がある場合、「element」、「nintendo」、「telephone」などのリスト内の単語が表示されます。

私は現在、何かがこのロジックを持っている:

String textLine = "element"; 
Regex regX = new Regex("e|n|t"); 
bool containsAny = regX.IsMatch(textLine); 

のいずれかの文字が文字列内に存在する場合、これは現在、trueを返します。私はすべての希望の文字に一致する単語を見つける正規表現(または何か他のもの)を作成したい。私はC#でこれを書いています。

ありがとうございます!

を使用でき
+0

参照[*文字列は単語の文字のすべてが含まれているかどうかを確認する方法*](http://stackoverflow.com/questions/33856104/how-to-文字列を含む文字列を含むすべての文字を含む) –

答えて

1

LINQの

var desiredChars = "ent"; 
var word = "element"; 
bool contains = desiredChars.All(word.Contains); 
+1

ありがとうございました! –

+0

少なくとも3つ以外のすべてを見つける方法を知っていますか? –

+1

@EdwinCoronado 'var count = desiredChars.Count(word.Contains);'またはそれ以上 'var count = desiredChars.Intersect(word).Count();' :) BTW:新しい要件であなたの質問を拡張しないでください。 ..新しい質問をすることを検討.... –

関連する問題