![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| unkis |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
У меня такая вот проблема,
есть такой метод
в этот метод передаётся вот такая вот строчка
Так вот дебагер показывает, что при выполнении в методе вот этого кода
загрузка процессора идёт на полную и программа как бы зависает на непонятное количество времени, т.е ждать приходится очень долго(я так и ни разу не дождался). В чём проблема, и почему так медленно? -------------------- www.unkis.com |
||||||
|
|||||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Регулярные выражения с одной стороны вещь очень сильная, с другой стороны - очень жручая ресурсы.
Если тебе надо искать подстроку в строке - проще сделать это без них - обычным пробеганием по строке и сравнением. |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
А если например мне надо выделить строчку из html строки при этом удалив все тегы и подстроки типа &137; , это можно сделать используя регуряные выражения? Подскажите как?
|
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Вопрос не в тему (лучше бы ты создал отдельную тему), но я всё же отвечу:
Для выделения строки тебе нужно написать паттерн этой строки. Чтобы удалить все &137; после получения нужной строки вызываешь на ней replaceAll("&137;", "" ). Если вообще все такие "символы" надо удалить - расширяешь паттерн до полного обобщения, чтобы он соответствовал им всем сразу. Если надо помочь с паттернами - выложи точное описание того, то именно тебе надо (желательно с примером, что из чего должно получиться). Но в любом случае лучше тебе почитать про регулярные выражения - штука полезная. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| v2v |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
есть строки:
надо что бы осталося:
и теги, числа ясное дело будут разные надо что бы остался только текст... если я многое упустил, скажите где про регулярные выражения читать? |
||||
|
|||||
| nornad |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Самое лучшее - почитать книжку. Например, Фридл "Регулярные выражения".
Паттерн для получения содержимого (не всё учитывает, но для начала подойдёт):
Натравливаешь на строку и если строка соответствует шаблону, то берёшь первую найденную группу. Если не соответствует, то надо смотреть по контексту (вдруг, у тебя там вообще без тегов может быть) и либо брать всю строку, либо не брать вовсе. После этого заменяешь все "спецсимволы" на пустоту:
Но всё равно настоятельно рекомендую прочесть книжку про регулярные выражения. В принципе, в javadoc есть очень краткое их описание, если уж совсем проблемы с поиском книг и статей в инете. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
||||
|
|||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Кстати, unkis, на каком-таком калькуляторе вы это запускаете и под какой jre? Я ради интереса попробовал ваш пример - выполнился за 1,8 секунды, пиковая загрузка процессора - 30%.
Это сообщение отредактировал(а) w1nd - 19.6.2007, 00:04 -------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Правила форума "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. |