powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск одинаковых букв в строке
3 сообщений из 3, страница 1 из 1
Поиск одинаковых букв в строке
    #39154007
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Можете помочь, нужно в строке со словами через запятую найти наиболее чаще встречающееся сочетание трех соседних букв в слове и их количество в строке
...
Рейтинг: 0 / 0
Поиск одинаковых букв в строке
    #39154021
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Циклом прогнать всю строку от 0 до Length - 3, но с шагом 1, резать по три символа, запихивать в List, потом линком убрать все тройки, где попадаются запятые, потом линком сгруппировать и отсортировать по Count
...
Рейтинг: 0 / 0
Поиск одинаковых букв в строке
    #39154218
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
const string text = @"abc qweabcrty defnmb nmbdef asdabcabcfg";
var rx = new Regex(@"(\w{3})(.*?)\1", RegexOptions.Compiled);
Func<string, IEnumerable<string>> f = null;
f = s =>
{
  var matches = rx.Matches(s).Cast<Match>();
  return matches.Select(m => m.Groups[1].Value).Union(matches.SelectMany(m => f(m.Groups[2].Value)));
};
foreach(var res in f(text).Select(s=>new {Triple = s, Count = Regex.Matches(text, s).Count}).OrderByDescending(t=>t.Count))
  Console.WriteLine("{0} {1}", res.Triple, res.Count);



Вывод:

Код: plaintext
1.
2.
abc 4
def 2
nmb 2
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск одинаковых букв в строке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]