У меня есть строка из 500 случайных букв и словарь из 10 000 список слов.
Я хочу проверить буквы на совпадения слов.
Если есть 5 совпадений или больше, я хочу, чтобы он возвращал список совпавших слов.
Однако эти foreach
и Contains.()
, похоже, работают неправильно или возвращают правильные совпадения. Он также возвращает частичные совпадения и отдельные буквы.
// 500 Random Letters
string letters = "bliduuwfhbgphwhsyzjnlfyizbjfeeepsbpgplpbhaegyepqcjhhotovnzdtlracxrwggbcmjiglasjvmscvxwazmutqiwppzcjhijjbguxfnduuphhsoffaqwtmhmensqmyicnciaoczumjzyaaowbtwjqlpxuuqknxqvmnueknqcbvkkmildyvosczlbnlgumohosemnfkmndtiubfkminlriytmbtrzhwqmovrivxxojbpirqahatmydqgulammsnfgcvgfncqkpxhgikulsjynjrjypxwvlkvwvigvjvuydbjfizmbfbtjprxkmiqpfuyebllzezbxozkiidpplvqkqlgdlvjbfeticedwomxgawuphocisaejeonqehoipzsjgbfdatbzykkurrwwtajeajeornrhyoqadljfjyizzfluetynlrpoqojxxqmmbuaktjqghqmusjfvxkkyoewgyckpbmismwyfebaucsfueuwgio"
// Dictionary Words List
string[] words = File.ReadAllText(@"C:\dictionarywords.txt").Split('\n');
// Word Matches List
List<string> matches = new List<string>();
// Check for Word matches in Letters
foreach (var x in words)
{
// Add to list if match
if (letters.Contains(x))
{
matches.Add(x);
}
}
// Return Matched Words if 5 or greater
if (matches.Count() >= 5)
{
textBox.Text = string.Join("\n", matches);
}
Примеры
Совпадения слов, найденные на глаз:
- крышка
- горячий
- камедь
- шланг
- шляпа
Возвращает совпадение кода:
- my
- up
- so
- c
- et
- ms
- am
- me
- s
- x
- n
- b
- ...