Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> split 
:(
    Опции темы
locust19
Дата 27.5.2010, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 25.11.2009

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



Мне нужно выделить из стринга в массив  следуюющее с "_cgo('" по "'"

помгите пожалуйста
PM MAIL   Вверх
53x7u5
Дата 27.5.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.5.2010

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



Код

...
String s = "до _cgo('внутри' и после"; //ваша строка
String[] sa; //ваш массив
int si = s.indexOf(_cgo); //индекс первого вхождения
int ei = s.lastIndexOf('); //индекс последнего вхождения
sa[1] = s.substring (si, ei) //выделяем кусок строки начиная с индекса si по ei
...


как-то так)

если работаете с StringBuffer то заносить в массив кусок строки можно при помощи getChars();
PM MAIL   Вверх
locust19
Дата 27.5.2010, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 25.11.2009

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



нет я думал его сразу разбитть вроде методом split. ваш код не работает

Мне нжно получить значения  многих ссылок
Код

<a href="javascript:void(0);"onClick="_cgo('go.php?u=aHR0cDovLzE5OS44MC41NS4xOC9nby5waHA/ZGF0YT1GRE5LQThMTGs5STFzSk8lMkI2ZFR3VSUyRk52aEs3WTR2aVolMkZ1clZPS3haSDRJaDA2OFVGa1hjRDR5aEVDakwwb3ZhQUY0aXR1OGxzY0haS3Nkb2hhcFZibDRUTVNndGo0ciUyQnU2czdKalUzRVFkd3ZhTGx2elphdTZEVjhsaG1pYnFBekVrUGUxdmRHTVFsMnVRSmdZZkUzTVhMWm5MSTNTeXglMkZ6Vm84bE9odDRwQnNVanpsZ0RVbG5kQ1FkejVNYTQzd2R3Sm9qenphMnFSaWRVSzY2ejk4aGgxeVMwTTZuU1FWZmZvRG9nUDlHeWxvVXhPVXpaMmNVcFklMkZDTTgzTWY0a0c5aFRmbCUyRk9NbVJLMW1MVm1BU1lpdEt5TThFQ1FtcjlFUTZyUzAlMkZiT3RKQ3BWWG0xNndDSzJXbUg1M2pDREhvYnVIV3VnMW1yTzZYd3FTWHEzM09wOVUwRlRIVE9acDNJZVNBSG80OFlHNUxiZFVKNGN6b2UybXdDM2lXUHdxNEM5Zmg5N3RCQlZ6JTJGWjZxRExjeGdwM0FLUEwwYnJJdjB4JTJCTXF6VEFOcm9MSnolMkY5b2oxUms4aGZNZ2NMckpuSVQ4ZUUybmxiOFAlMkYlMkJOUEFjUTEzaFd3QnlaRkFJSW5QS3o3eGRIUnFJeGZrbXBhZHJVbHFJU0lUYks4ZHpUMDdpZW5jS1BTMTRBZWZMeHJaYjFwdSUyRlBtdjdHblZpSGVydEIzTHBzRXNYJTJCdU9TdkRIb2ZzMm45Q0VEb2xPRll1VkZQVWhYZTV0VVhxVFhLcjJ2MWhpUllDaThzcjVibE5uR0RhdHJGcW5sZmclMkZsZXpOYk1mNSUyQnEyN1h5ZDVYeXpXUkZMOGdGUVBEdmlJJTJCalphWlRxREI4RmpKRVBFT2NqJTJGN0dqZjlTcVJ6UnpqaEl2YllVTlBsJTJCZ2xqZ2pTMGsycHdVbjhzOU9JQWUwZHlzUDZMVHFhVTcxb1V2ayUyRmslMkJwUlRoZE1hOFNoSExBWm9VJTJGbzlhRzhSQ2psRHluRVkyUVp5TGoxeUNvMzFqV25xWmxjaGRtbU9aYWFrQVoyVWhncmZuUWV4RWZDcnBwcTdpSHFsR1Jyb3BTVzAwS0h1cHg0ZktCdHNHcTJEemp4YTVnbTNrU2h0UkVyMUZqeCUyRnp2SWFjNCUyQkh1WjJLbiUyRks0N1haJTJCOW5aNmtxT0pHdlJMZVgyWnlIOFBiOEI1ZzRLRnklMkZ5TnlvMWVBTFNtd1VpS2VPRlIxT1B6UDJvQTVaQzBCJTJGcmMlMkYwclA2ejNaOGNsJTJCUlNOQlZoamNDZ1l0Y3RLdkpUb2R0cEEyam9TNlJpY3huNkZKcExEYVpaSlhYdUJPRFhaUVIlMkJNaTNOTlRyMTY1bDA1WWVpMGZCTmdlV3hqWCUyRmJ6MW9ldDk4ZzFmb1l3YVZ2MFIlMkYzdDBiRGZNbG9oY0RDblBXeWE5eHRGNVBmeTN2ckpQeHpMdEZYNTdLJTJGQnJYOVRyajVMYWU3UDlNdENNeEJyNndMRkZIN0c0ZGhFRnNnaDFBN1R5JTJGTmswb2M2cXdlclQlMkJZWGpTeUxRRWRhJTJGTG1GaXRhT2hoOXBnSGZZMENjckglMkJyb2JOZlBZJTJGeWhNdFo4MTltSktxejgyc25NN3pjcVIlMkZpT3R0REElMkZuTiUyQnBOMkU3ZnRGZzUwMCUyRlR1akMyOU9iMmxmWjY0M1FJT3FQTHgwaHJLc2slMkJscnJPVTVIQVoyOEtteGRBcDRmSFNJJTNE&qq=R2V0IFZpYWdyYQ==&stime=1274946839');" target="_blank" onMouseOut="window.status='';return true;" onMouseOver="window.status='http://us-canadian-pharmacy.net';return true;"><b>Get Viagra</b> - Brand and Generic. Great quality!</a>

а точнее с _cgo(' по '

Это сообщение отредактировал(а) locust19 - 27.5.2010, 14:59
PM MAIL   Вверх
MisterCleric
Дата 27.5.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 5
Всего: 38



Вот так получишь усе, что тебе надо:
Код

 public void testGroups() {
        String s = "dfgdfgdfg_cgo('dfgdfgdgdfg'1231231233_cgo('234242432'  _cgo('234242432'sdfsdffsf";
        Pattern p2 = Pattern.compile("(_cgo\\('.*?')");
        Matcher m1 = p2.matcher(s);
        List<String> matches = new ArrayList<String>();
        while (m1.find()) {
            matches.add(m1.group());
        }
        String [] result = matches.toArray(new String[0]);
        for (String s1 : result) {
            System.out.println(s1);
        }
    }


Но глядя на твой пример, ты попал не в тот раздел: JAVA - это не JavaScript


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
locust19
Дата 27.5.2010, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 25.11.2009

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



y правильно попал я явой подсоединяюсь к интернету и нужные функции выполнить хочу

Добавлено @ 18:48
спасибо большое.. работает превосходно.. единственное что.. пару страниц кода считывало раньше в течении секунды а теперь секунд 5 длится пока он пропатерит.. 
могу ли я спросить есть ли быстрее альтернативы? таких штук у меня 20 в коде для массива

Это сообщение отредактировал(а) locust19 - 27.5.2010, 18:49
PM MAIL   Вверх
locust19
Дата 27.5.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 25.11.2009

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



и как можно сказать между '     '

Это сообщение отредактировал(а) locust19 - 27.5.2010, 19:56
PM MAIL   Вверх
53x7u5
Дата 27.5.2010, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.5.2010

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



Вопрос от новичка: Почему нужно создавать сразу целый паттерн на основе регулярных выражений? Почему нельзя решить задачу "в лоб" определив индексы начального и конечно вхождения символов в строке, а затем выделить нужный участок строки substring() ? Какбэ понятно что если искомая конструкция встречается в строке больше одного раза и нужно сохранить каждый результат, то в три приёма задачу я не выполню. Но есть ли какие-то еще причины о которых я не знаю?

Я с джавой пока только начал разбираться и про регулярки и паттерны в java еще не читал. 


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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 25.11.2009

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



тут не джава. а программирование под вопросом.. вы смотрите что надо и поймете что субстринг не поможет, он для постояных исправлений

Это сообщение отредактировал(а) locust19 - 27.5.2010, 23:22
PM MAIL   Вверх
aleksandy
Дата 28.5.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 17.12.2006

Репутация: 4
Всего: 5



Цитата(locust19 @ 27.5.2010,  18:37)
могу ли я спросить есть ли быстрее альтернативы? таких штук у меня 20 в коде для массива

Если везде ссылки одинакового формата, то 
Код
Pattern p2 = Pattern.compile("(_cgo\\('.*?')");
 можно убрать из метода и сделать статической константой класса, это позволит не компилировать каждый раз регулярку. Во-вторых, если требуется сама ссылка, то регулярку переделываешь так 
Код
Pattern p2 = Pattern.compile("_cgo\\('(.*?)'");
, а вместо m1.group() пишешь m1.group(1).
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

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


 




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


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

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