Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

alex1966 avatar alex1966 255 Точки

Означава да сплитнеш инпута ти със всичко което не е буква, без регекс не знам как ще го направиш :D

1
kaloyannikov avatar kaloyannikov 531 Точки

Без regex ще е доста писане ,но се сещам може да се проверява char по char , ако char-a е буква да се влезне в цикъл до момент в който char-a не е буква и увеличава wordCount с 1.

Не съм много сигурен дали ще работи.

0
slavpetroff avatar slavpetroff Trainer 155 Точки

Ако обходиш стринга, като зададеш да търси за някакъв символ като сепаратор или поредица от символи. След което вкарваш в речник думите. Ако съществуват, увеличаваш value- то с единица и накрая, срещу всеки key, който ще е думите - ще имаш броя срещания.  С регекс, бих го направил по същия начин, само че, щях да го вкарам в масив и да обхождам него.

0
alex1966 avatar alex1966 255 Точки

Стига бе хора много сложна я правите тая задача, 10 000 пъти е по лесно да напишеш 1 регекс или да видиш от Google
 .split("\\P{Alpha}+");

което не работи в regex101, защото си е мисля че само за на Java компилатора, но върши перфектна работа за non-letter separator

0
kaloyannikov avatar kaloyannikov 531 Точки

с регекс съм я решил и аз макар и не точно тоя , но той пита за решение без такъв.

0
slavpetroff avatar slavpetroff Trainer 155 Точки

Аз предложих и с регекс, ако не гоним пърформънс, не виждам проблем в създаването на един масив, набиването на думите в речник и проверка, дали съществува като ключ в речника. Какъв е твоя вариант, без масив и речник ?

П.С

Сега се замислих, че дори, можем проверката да я правим при итерацията на стринга и там да набиваме думите в речника. Т.е - спестяваме си създаването и обхождането на масив. Аз лично не се сещам за по-лесен вариант. Ако някой има, нека го сподели, ще е интересно.

 

0
06/04/2016 00:31:52
a.beshovishki avatar a.beshovishki 79 Точки

Какво значи без regex? Сплитваш по \w. Аз така го направих.

0
EyubDjelil avatar EyubDjelil 9 Точки

Идеята е,че Текстообработка и регулярни изрази са след още една лекция и няма логика задачата да се решава със средства, които още не са взети. Видях, че всички решения на задачата от колегите е с използване на regex.Та идеята беше да видя какви други алтернативни решения има.Благодарение на момчетата я реших без да ползвам regex. 

0
kaloyannikov avatar kaloyannikov 531 Точки

\w не е правилен регекс в случая , щото хваща и цифри.

1
alex1966 avatar alex1966 255 Точки

Чесно казано логика си има, винаги домашните са направени, така че първата част е от текущия урок, а втората част са задачи които предстои да ги учим и ги дават за да се подготвим повече за следващия урок, доколкото съм забелязал винаги вървят така.

1
Alex0101 avatar Alex0101 374 Точки

Здравейте колеги, тук според мен проблемът идва в недостатъчното условие. Казват да разделим текста на думи, като за разделител ползваме всичко, което не е буква - non-letter /поне аз така го разбирам/. Няма никъде условие да пребройм уникабните думи, следователно броим всички , както е на примира. 

Достатъчно, според мен, е да се сплитне на \w и да се вземе броя на елементите в масива. Така минават всички тестове по условие.

 

0
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

И ако в текста имаш 123 ще мачне и него. Ако искаш да мачваш всички букви трябва да се използва \p{L}+

0
IskrenPenev avatar IskrenPenev 177 Точки

Когато в условието се казва  "Use any non-letter character as word separator", e най-добре да ползваш [^a-zA-z]+ за да разделиш входа  - остават само поредиците от латински букви. 

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.