![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Я делаю поиск по музыке, музыка у меня приходит с двумя данными, название песни и исполнитель.
Есть у меня класс, он сортирует запрос. Вот сейчас он работает так ; - разделитель запросов # - название песни ^ - Поиск в пределах определенного группы\артиста +\- песня только с ними \ песня только без них. т.е Запрос "пляж #пляж" - должен вывести ТОЛЬКО песни которые назваются со словом "пляж" и группа\исполнитель не называется "пляж" Вот хочется сделать более идельно. что бы работа +\- в # ^ и добавление [ ] - то что находиться между ними считается одним словом. т.е чтто бы работало "пляж +#пляж -^пляж [крутой отдых]" это обозначает. Искать только где в названии "пляж" группа не называется "пляж" и что бы была точная фраза крутой отдых. и к примеру если + перед # ^ отсутвует то считается что там стоит +. p.s забыл сказать, это надо всё сложить в массив _minus - все отрицательные и.т.д а все слова без ключевых знаков шли в _str т.е "пляж -#группа крутой" записывалось в _str "пляж крутой" p.s завтра сдавать курсач. если поможете спасибо.
|
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Нужно данные из строки запроса распределить по подходящим массивам?
|
|||
|
||||
| Stolzen |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Попробуйте использовать регулярные выражения:
Это сообщение отредактировал(а) Stolzen - 17.5.2011, 15:14 |
||||
|
|||||
| DenWPF |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
это конечно хорошо, но опять же нету времени разбираться в этом, будет много глюков.
к примеру вот сейчас вел ответ не очень адекватный.
p.s Хотя выбора то нет. я добавил новые массивы для сортировки.
_minus // глобальный минус _plus = // глобальный плюс _artistMinus // минус в артисте -#мореМИНУС _artistPlus // плюс в артисте #море, #мореПЛЮС _titleMinus // минус в названии -^пляжМИНУС _titlePlus // плюс в названии ^пляж, +^пляжПЛЮС Это сообщение отредактировал(а) DenWPF - 17.5.2011, 15:51 |
||||||
|
|||||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
ПОМОГИТЕ
из строки "пляж ^пляж #море -^пляжМИНУС -#мореМИНУС +#мореПЛЮС +^пляжПЛЮС " остались не обработанные "^пляж #море -^пляжМИНУС +^пляжПЛЮС " помогите )) |
|||
|
||||
| Stolzen |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Тут ^ экзанировать нужно - //^ вот так записать, т.к. просто шапочка обозначает начало строки Вот этот вообще лучше бы так переписать:
А вообще, вот вариант проще:
Разбить весь запрос на токены, а затем уже каждый рассматривать. Можно, например, каждый из них проверять на соответсвие регэкспу. Или сделать проще - если первый символ такой-то и следующий за ним такой-то, то делать одно, если другой - то другое. Это сообщение отредактировал(а) Stolzen - 17.5.2011, 16:31 |
||||||
|
|||||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Спасибо, сделал по первому примеру, пока решил [] убрать есть много других забот.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |