Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите 
:(
    Опции темы
PashaPash
Дата 2.6.2009, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(diadiavova @  1.6.2009,  22:51 Найти цитируемый пост)
Код, предложенный PashaPash - совсем не плох, если не считать того обстоятельства, что единственным, содержащимся в нём новшеством был именно шаблон, о недостатках которого я и написал. 

Чем тебя не устраивает шаблон \b? Это хоть как-то стандартизированная граница слова. В русском дефис - не разбивает слово. В каком нибудь гондурасском - разбивает. Точный способ посчитать количество слов - взять софт с хоть какими нибудь функциями верстки - тот же word, скормить текст ему и подождать. В любом случае взять готовый стандратный символ - лучше, чем составлять таблицу разделителей. 
Цитата(diadiavova @  1.6.2009,  22:51 Найти цитируемый пост)
И кстати если конкретная задача подразумевает, что слова состоят только из алфавитных символов(без цифр), то можно сделать так

А если не подразумевает? Word считает 42 словом ;). И этот смайлик тоже.


--------------------
PM MAIL WWW   Вверх
diadiavova
Дата 2.6.2009, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Цитата(Partizan @  2.6.2009,  01:54 Найти цитируемый пост)
синтаксиса построения регулярных выражений особо не знаю

Я - тоже(особо). Здесь надо сказать, что во многих случаях использования стрингсплита может оказаться достаточно, в частности, веб-браузеры работают примерно по такой же логике, там от пробелов может зависеть распределение текста. Я, собственно, только указал на возможные ошибки и способ их избежать. Честно говоря мне не очень понятно, почему тема потихоньку начинает превращаться в холивар.
Цитата(PashaPash @  2.6.2009,  07:48 Найти цитируемый пост)
Чем тебя не устраивает шаблон \b? Это хоть как-то стандартизированная граница слова.

Хотябы тем, что слово, полученное таким образом может включать цифры, но при этом не включает ряд символов, которые так же могут содержаться в словах. К каким последствиям это может привести я показал в примерах. Целое число считается одним словом, а дробное иногда двумя, а иногда тремя итд.
Исправить такое положение вещей можно только полной заменой шаблона. (кстати: мой шаблон, приведённый для примера, делит текст по той же логике, что и твой)
Цитата(PashaPash @  2.6.2009,  07:48 Найти цитируемый пост)
В русском дефис - не разбивает слово. В каком нибудь гондурасском - разбивает. 

Поэтому я и пишу, что предлагать конкретные шаблоны, не зная задачи топикастера, - преждевременно.
Цитата(PashaPash @  2.6.2009,  07:48 Найти цитируемый пост)
В любом случае взять готовый стандратный символ - лучше, чем составлять таблицу разделителей. 

Не влюбом. Только в том, который решает задачу корректно.


Цитата(PashaPash @  2.6.2009,  07:48 Найти цитируемый пост)
Цитата(diadiavova @  1.6.2009,  22:51 Найти цитируемый пост)
И кстати если конкретная задача подразумевает, что слова состоят только из алфавитных символов(без цифр), то можно сделать так

А если не подразумевает? Word считает 42 словом ;). И этот смайлик тоже.

Это был ответ другому участнику, предложившему в шаблоне перечислить алфавитные символы. Я просто указал, что это можно сделать иначе. 

ЗЫ
И кстати: в Гондурасе говорят на испанском smile 



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
PashaPash
Дата 2.6.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(diadiavova @  2.6.2009,  11:11 Найти цитируемый пост)

Не влюбом. Только в том, который решает задачу корректно.

Неизвестная задача - это "любой" случай smile


--------------------
PM MAIL WWW   Вверх
diadiavova
Дата 2.6.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Цитата(PashaPash @  2.6.2009,  12:15 Найти цитируемый пост)
Неизвестная задача - это "любой" случай 

То есть, если тебе задача не вполне понятна, то можно дать любой ответ?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
PashaPash
Дата 2.6.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



diadiavova, нет, просто подходящий в большинстве случаев. И заодно соответствующий хоть какому-то общепринятому стандарту.


--------------------
PM MAIL WWW   Вверх
diadiavova
Дата 2.6.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Я, вроде как, привёл список случаев, в которых он возвращает некорректные результаты. ИМХО гораздо правильнее описать с какими "подводными камнями" можно столкнуться при решении этой задачи, чем давать решение, которое может и не подойти. 

Я уже не говорю о том, что твой метод с вычислением границ слов и последующим их делением пополам, лично мне кажется слегка экзотическим. Почему было не сделать так \w+?

Это сообщение отредактировал(а) diadiavova - 2.6.2009, 13:36


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
PashaPash
Дата 2.6.2009, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(diadiavova @  2.6.2009,  13:33 Найти цитируемый пост)
Я, вроде как, привёл список случаев, в которых он возвращает некорректные результаты. ИМХО гораздо правильнее описать с какими "подводными камнями" можно столкнуться при решении этой задачи, чем давать решение, которое может и не подойти. 

В каком смысле некорректные? Считает "-" и скобки разделителем? так ты сам это условие ввел smile

По версии ворда вот тут "Это – тоже слово !" - 4 слова. А вот тут - "Это - тоже слово !" - уже 5. Хотя здравый смысл подсказывает что слов тут всего 3. Ворд некорректен? Давай любой алгорим, я тут же дам пример когда он некорректен.

Цитата(diadiavova @  2.6.2009,  13:33 Найти цитируемый пост)
Я уже не говорю о том, что твой метод с вычислением границ слов и последующим их делением пополам, лично мне кажется слегка экзотическим. Почему было не сделать так \w+?

А как же внутренняя красота кода? smile "\b" / 2, IMHO, намного красивее, чем сплит по "^\W+$" ;)


--------------------
PM MAIL WWW   Вверх
Partizan
Дата 2.6.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



PashaPash, 
diadiavova, 

...думаю автор получил ответ на свой вопрос и топик исчерпан...

 smile 

Осталось мне только самому себе предупреждение выписать за провокацию споров string.Split-ом =)))


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
diadiavova
Дата 2.6.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



PashaPash, я, как бы, с самого начала твержу о том, что задача требует уточнения. Именно по тем же причинам.
Цитата(PashaPash @  2.6.2009,  14:17 Найти цитируемый пост)
А как же внутренняя красота кода?

Красота - понятие субъективное.

Partizan, Извини - так вышло smile

Это сообщение отредактировал(а) diadiavova - 2.6.2009, 15:31


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
jonie
Дата 2.6.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



а можно прикрутить спелчекер и "перестраховываться"...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.