powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Разбивка строки Split
14 сообщений из 14, страница 1 из 1
Разбивка строки Split
    #39045295
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Ребята подскажите.
Есть строка </nobr, Закарпатская обл.</a, ее надо разбить чтобы получилось

Закарпатская

у меня есть код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
 for (int i=0;i<parsCountry.size();i++) {
            String[] str = parsCountry.get(i).toString().split(">");
            listCountryFirst.add(str[3]);  
        }
        for (int i=0;i<listCountryFirst.size();i++) {
            String[] str = listCountryFirst.get(i).split("<");
            listCountryEnd.add(str[0]);
//            System.out.println(i+" Country= "+listCountryFirst);
        } 



как указать пробелы String[] str = parsCountry.get(i).toString().split(">");
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045445
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парсить HTML регулярными выражениями не очень хорошая идея.
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045490
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слово "парсить" не существует, поэтому "парсить" действительно неудачная идея. Регулярных выражений в этом некачественном примере нет (или можно сказать есть, но тривиальные), а "парсить" эту строку проще всего именно регулярным выражением. Я сразу не ответил потому, что приведённый пример интересующей части строки явно неточный.
Ну, объясняю как работает некачественный пример. Аффтар сначала делит строку на части по символам ">", берёт 4-ю по порядку, в которой очевидно содержится что-то закарпатское. Затем выполняет лишнюю операцию копирования результата в другой список. Затем просматривает другой список и делит строки из него на части по символу "<", чтобы отбросить хвост строки после закарпатского. Очевидно, что-то закарпатское содержится в первой из полученных частей, поэтому она и берётся в качестве результата. Однако результатом является "Закарпатская обл.", а нужно просто "Закарпатская". Этого можно добиться, дополнительно разбив результат по символу пробела.

Пример.
Код: java
1.
2.
3.
String s = "Закарпатская обл.";
String [] parts = s.split (" ");
System.out.println (parts[0]);


Результат: "Закарпатская".
В этом примере предполагается, что между "Закарпатская" и "обл." есть один пробел. Если их может быть несколько, то для их уловления можно применить настоящее регулярное выражение:
Код: java
1.
2.
3.
String s = "Закарпатская    обл.";
String [] parts = s.split ("([\\s]+)");
System.out.println (parts[0]);


Результат: "Закарпатская".
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045495
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПарсить HTML регулярными выражениями не очень хорошая идея.

Подскажите а какая идея самая лутшая для парсинга HTML.
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045498
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21Подскажите а какая идея самая лутшая для парсинга HTML.
HTML парсер, как ни странно.
http://stackoverflow.com/questions/2168610/which-html-parser-is-the-best
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045499
ferc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mixon21BlazkowiczПарсить HTML регулярными выражениями не очень хорошая идея.

Подскажите а какая идея самая лутшая для парсинга HTML.

http://jsoup.org/
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045623
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon21Подскажите а какая идея самая лутшая для парсинга HTML.

Никакая, поскольку слово "парсинг" не существует и следовательно ничего не означает. Поэтому про него не может быть идей.
Предлагаемые вам (как ни странно) "парсеры" создают DOM-модель HTML-документа. Спрашивается: а оно надо, всего лишь для извлечения слова "Закарпатская" из таблицы? Для чего достаточно добавить к вашему коду указанную мной строку. Иногда конечно DOM-модель бывает нужна, отчего и существуют эти, как некоторые неграмотно выражаются, парсеры (разборщики HTML). Но это надо самостоятельно решать, когда нужно использовать, а когда нет.
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045639
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MСлово "парсить" не существует ...

Не будьте столь категоричны. Это уже вполне устоявшийся термин. Если такого слова не существовало бы то тогда вряд ли бы Вы и
я и многие другие, поняли что имел ввиду блазковиц

BlazkowiczПарсить HTML регулярными выражениями не очень хорошая идея.

Все таки намного быстрее написать "парсить" нежели "выполнить синтаксический анализ".
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045672
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21, твоя задача разбита на 2 фазы. 1) Парсинг собственно HTML документа
с использованием HTMLCleaner или JSoup (погугли сам их описание).
2) После получения ноды или элемента (или строки) которая лежит внутри
ее нужно разбить либо по SPACERS, CONTROLS если есть возможность
с использованием Apache String Utils либо подключить регулярки
(в том случае если тривиально не получается).

Слово парсинг объективно существует в рамках наших внутренних
девелоперских договорённостей и мы все прекрасно поняли о чём
идёт речь.

Учёным и специалистам в области анализа текста я предлагаю не спекулировать
на эту тему в этом форуме.
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39045700
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изврат )
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
String  st = "</nobr, Закарпатская обл.</a "
                   + "</nobr, Мурманская обл.<a "
                   + "</nobr, Краснодарский кр.<a"
                   + "</nobr, Коми-Пермяцкий автономный округ <a"
                   + "</nobr, Республика Мордовия <a";
        st = st.replaceAll("Республика", "");
        Pattern ptr = Pattern.compile("</nobr,\\s+[А-Яа-я]+(-[А-Яа-я]+)?");
        Matcher mtr = ptr.matcher(st);        
        while(mtr.find())
            System.out.println(mtr.group().replaceAll("</nobr,\\s+", "").trim());

...
Рейтинг: 0 / 0
Разбивка строки Split
    #39046136
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingВсе таки намного быстрее написать "парсить" нежели "выполнить синтаксический анализ"."(с)делать разбор/разобрать" - тоже не очень длинно.
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39046213
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21,

Код: java
1.
2.
String zakarpatskaya = "</nobr, Закарпатская обл.</a".replaceAll("[^Закарпатская]", "");
System.out.println(zakarpatskaya);
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39046216
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanmixon21,

Код: java
1.
2.
String zakarpatskaya = "</nobr, Закарпатская обл.</a".replaceAll("[^Закарпатская]", "");
System.out.println(zakarpatskaya);

Со split 'ом тоже вроде работает (-:
...
Рейтинг: 0 / 0
Разбивка строки Split
    #39046291
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за отклики.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Разбивка строки Split
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]