Java String Split by Separator splitWithBreakingBrace(String str, char separator, char braceStart, char braceEnd)

Here you can find the source of splitWithBreakingBrace(String str, char separator, char braceStart, char braceEnd)

Description

split With Breaking Brace

License

Apache License

Declaration

public static String[] splitWithBreakingBrace(String str, char separator, char braceStart, char braceEnd) 

Method Source Code


//package com.java2s;
//License from project: Apache License 

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static String[] splitWithBreakingBrace(String str, char separator, char braceStart, char braceEnd) {
        return splitWithBreakingBrace(str, new char[] { separator }, braceStart, braceEnd);
    }// w  w w .  ja v  a 2 s . c  o  m

    public static String[] splitWithBreakingBrace(String str, char[] separators, char braceStart, char braceEnd) {
        List<String> strs = new ArrayList<String>();
        StringBuffer sb = new StringBuffer();
        int index = 0;
        String sepStr = new String(separators);
        while (index < str.length()) {
            char ch = str.charAt(index);
            if (sepStr.indexOf(ch) >= 0) {
                strs.add(sb.toString());
                sb = new StringBuffer();
            } else {
                if (ch == braceStart) {
                    sb.append(ch);
                    index++;
                    while (index < str.length()) {
                        ch = str.charAt(index);
                        sb.append(ch);
                        if (ch == braceEnd) {
                            break;
                        }
                        index++;
                    }
                } else {
                    sb.append(ch);
                }
            }
            index++;
        }
        String endStr = sb.toString();
        if (endStr.length() > 0) {
            strs.add(endStr);
        }
        return strs.toArray(new String[] {});
    }
}

Related

  1. splitStringWithBracesOnSeparator(String string, char separator)
  2. splitStructs(String str, char separator)
  3. splitToList(String s, String separator)
  4. splitValues(String concatedValues, String separator)
  5. splitValues(String values, String separator)
  6. splitWithoutEscaped(String str, char separatorChar)
  7. splitWorker(final String str, final char separatorChar, final boolean preserveAllTokens)
  8. stringSplit(String string, int separator, int escape)