Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
#1

Парсинг строки - Программирование Android

17.11.2016, 19:39. Просмотров 364. Ответов 15
Метки нет (Все метки)

У меня есть строка вида
{el1=val1,el2=val2...eln=valn}
Как её распарсить таким образом, что бы в арайлист занести только значения(val1,2,...,n)?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2016, 19:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Парсинг строки (Программирование Android):

Парсинг JSON-строки и вывод данных из строки - Программирование Android
Добрый день! Я разрабатываю Android-клиент, который мог бы обмениваться данными с размещенной WCf-службой. Для чтения данных из службы...

Парсинг строки - Программирование Android
Добрый день. Столкнулся с проблемой. В общем есть некая строка примерно такого содержания "{xxxx=Май 2013}" надо вытянуть из нее месяц...

Парсинг строки ввода - Программирование Android
подскажите как парсить строки, для ввода данных пользователем(если можно примером)

Парсинг строки и вывод в массив - Программирование Android
Доброго дорогие форумчане, вот моя проблема столкнулся с такой проблемой, у меня в базе есть картинки вида...

Парсинг+вывод - Программирование Android
Есть страница "http ://meteo - liman. bl .ee/index2", необходимо её спарсить и данные вывести на экран. Парсинг: Document doc =...

JSOUP парсинг - Программирование Android
Код парсит в textView1 с сайта class="30" Как переписать/дописать код, чтоб он парсил еще и в textView2 класс="31" Классы 30, 31 на...

15
petruchodd
108 / 105 / 10
Регистрация: 23.06.2009
Сообщений: 578
17.11.2016, 19:57 #2
Java
1
String[] split(String regex)
0
ExFau$t
357 / 343 / 66
Регистрация: 08.05.2012
Сообщений: 1,738
17.11.2016, 19:59 #3
ну первое, что приходит в уставшую голову: индекс первого =
Java
1
str.indexOf("=");
индекс первой запятой, потом substring, дальше то же самое, только от "индекс первой запятой" ищешь второе =. Ну это грубо очень конечно.

Добавлено через 1 минуту
если строка вида: {el1=val1,el2=val2,eln=valn}, то можно сплитом сначала по запятым, потом по равно.
0
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
17.11.2016, 20:09  [ТС] #4
petruchodd, Можна ли по подробнее об этом String regex

Добавлено через 3 минуты
ExFau$t, я парсил похожим образом но у меня только на 2 елемента
Java
1
2
3
4
5
6
7
8
9
String[] s1,s2;
        for(i=0;i<parser.length;i++){
            s1=parser[i].split("=");
            s2=s1[1].split(",");
            pass=s2[0];
            username=s1[2].substring(0,s1[2].length()-1);
            stringArrayList.add(username);
            stringArrayList.add(pass);
        }
Добавлено через 6 минут
ExFau$t, но почему я спросил есть ли обобщенный алгоритм
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.11.2016, 20:16 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
List<String> list = Arrays.asList(str.replaceAll("\\{|\\w+=|}", "").split(","));
3
ExFau$t
17.11.2016, 20:27
  #6

Не по теме:

самое простое в голову не пришло...

0
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
17.11.2016, 20:49  [ТС] #7
Паблито,
Syntax error in regexp pattern near index 9:
\{|\w+=|}
немогу понять почему выдает исключение
код скопировал

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 private void userChek() {
        boolean re=false;
        arrayList=user.arrayList;
        String login=logT.getText().toString(),
                password=Cryptography.md5(passT.getText().toString());
        String s="";
        for(i=0;i<arrayList.size();i++){
            s+=arrayList.get(i).toString()+"\n";
        }
        s=s.substring(0,s.length()-1);
        String[] parser=s.split("\n");
        for(i=0;i<parser.length;i++){
            List<String> list = Arrays.asList(parser[i].replaceAll("\\{|\\w+=|}", "").split(","));
            if (list.contains(login) & list.contains(password)) {
                re=true;
                break;
            }
            else re=false;
        }
        if (re) {
            Toast.makeText(this, "Hello " + logT.getText().toString(), Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(this, "Wrong login or password", Toast.LENGTH_LONG).show();
        }
    }
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.11.2016, 20:57 #8
может форум убирает косые палочки
просто надо проверить внимательно символы
Парсинг строки
0
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
17.11.2016, 21:10  [ТС] #9
Паблито, user.arrayList - этот элемент береться из jsonparser.class
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.11.2016, 21:13 #10
поверь, я тоже умею писать бессмысленные фразы

просто проверь внимательно регулярное выражение, как оно написано у меня на скриншоте и у себя в коде
0
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
17.11.2016, 21:15  [ТС] #11
Паблито, также!!!
поэтому я и скинул весь код
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.11.2016, 21:18 #12
как этот код относится к первоначальному вопросу?
0
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
17.11.2016, 21:23  [ТС] #13
Паблито, у меня есть несколько джонс парсеров которые выдают массив в формате
котором я описал выше({el1=val1,el2=val2,eln=valn})

Добавлено через 1 минуту
Паблито, но так как количество элементов разное,я и захотел узнать,обобщённый алгоритм парсинга
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.11.2016, 21:23 #14
ты молодец

количество разное и эта регулярка нормально работает на любом количестве
уже можно было бы давно решить вопрос, если бы из тебя не приходилось вытягивать инфу силой

за сим, сливаюсь с темы, ибо все запущено
0
eXeShnik
19 / 19 / 3
Регистрация: 12.02.2016
Сообщений: 75
17.11.2016, 21:25  [ТС] #15
Вот
0
Миниатюры
Парсинг строки  
17.11.2016, 21:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2016, 21:25
Привет! Вот еще темы с ответами:

Парсинг XML - Программирование Android
Нужно роспарсить XML, который приходть с http://shop.podolyany.com.ua/api/rest/products/. Наверное делаю что-то не так. Вот код, где я хочу...

Парсинг JSON - Программирование Android
Доброй ночи! Есть задача распарсить JSON не зная изначально сколько и чего там находится, а так же не зная ни имен ни другой инфы, кроме...

Парсинг json - Программирование Android
Здравствуйте! Имеется такой json код: { &quot;data&quot;: }И я его обрабатываю так: JSONArray urls = json.getJSONArray(&quot;data&quot;); Тогда, как мне...

Парсинг JSON - Программирование Android
Дали задание Мне надо воссоздать структуру JSON в сообственных объектах. Т.е. парсить надо не в String (например), а сделать вот что: -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru