Показать сообщение отдельно
Непрочитано 15.03.2016, 00:58   #8
Аватар для Bacek

По умолчанию Re: Парсер строк с тегами

PHP код:
            String str "{{p_physical_defence;{all};-10;per};{i_dispel_by_slot_probability;pd_up;100}}";
            List<
StringeffectsArray splitList(str); 
PHP код:
    private static List<StringsplitList(String s) {
        
String s2 =  s.substring(1s.length() - 1);
        List<
Stringres = new ArrayList<>();
        
StringBuffer buff = new StringBuffer();
        
int level 0;
        for (
char part s2.toCharArray())
        {
            if (
part == '{')
                
level++;
            else if (
part == '}')
                
level--;
            else if (
part == ';' && level == 0)
            {
                
res.add(buff.toString());
                
buff = new StringBuffer();
                continue;
            }
            
buff.append(part);
        }
        
res.add(buff.toString());
        return 
res;
    } 
каждый след уровень юзай splitList заного
__________________
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......
Bacek вне форума Отправить сообщение для Bacek с помощью ICQ Ответить с цитированием
Сказали спасибо: