Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.11.2006, 17:48
|
|||
|---|---|---|---|
|
|||
Лексическая статистика |
|||
|
#18+
Есть текст: Label1.Text = "Саша Маша каша Саша Саша каша"; Как получить о нем отчёт в таком виде: Слова | Количество ---------------------------- каша | 2 Саша | 3 Маша | 1? Мой вопрос связан с тем, что нет ясности как в конструкции for(){} "уменьшить "на лету" размер массива, если какое-то слово-элемент массива повторяется? Надо ж его удалять, чтобы не прокручивать снова. Вот мой код: private string CountStrings(string str) { StringCollection myCol = new StringCollection(); string count = ""; string[] searchString = str.Split(new char[] { ' ' }); myCol.AddRange(searchString); for (int i = 0; i < myCol.Count; i++) { if (myCol.Length > 2) { count += myCol + ": " + new Regex(myCol).Matches(str).Count + "<br />"; } } return count; } Хотя Regex подсчитывает правильно, цикл прокручивает всЁ, т.к. он не менялся после создания. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.11.2006, 02:17
|
|||
|---|---|---|---|
|
|||
Лексическая статистика |
|||
|
#18+
Hashtable вполне справится. Или, лучше, Dictionary<string, int> Dictionary<string, int> words = new Dictionary<string, int>(); foreach(string word in str.Split(' ')) if(words.ContainsKey(word)) words[word]++; else words.Add(word, 1); Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.11.2006, 08:52
|
|||
|---|---|---|---|
|
|||
Лексическая статистика |
|||
|
#18+
Спасибо, работает. Только мешает, что надо в конце делать ещё один прогон цикла типа: foreach (KeyValuePair<string, int> kv in words) { count += kv.Key + " - " + kv.Value + "<br />"; } А хотелось бы избежать, и вычислить за раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=dev005&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 1120ms |
| total: | 1298ms |

| 0 / 0 |
