Пример #1
0
  /**
   * Creates a linked list of TokenSeps from the comma separated string str.
   *
   * @param str The string specifying delimiter strings.
   * @return A list of TokenSeps.
   */
  private static TokenSep parseDelimString(String str) {
    TokenSep first = null;
    TokenSep p = null;
    int idx0, idx1, length;
    StringBuilder val = new StringBuilder();
    char c;

    length = str.length();
    for (idx0 = 0; idx0 < length; ) {
      for (idx1 = idx0; idx1 < length; idx1++) {
        c = str.charAt(idx1);
        if (c == '\\') {
          idx1++;
          if (idx1 < length) val.append(str.charAt(idx1));
        } else if (c == ',') {
          break;
        } else {
          val.append(c);
        }
      }
      idx1 = Math.min(idx1, length);
      if (idx1 > idx0) {
        p = new TokenSep(val.toString());
        val = new StringBuilder();
        p.setNext(first);
        first = p;
      }

      idx0 = idx1 + 1;
    }

    return first;
  }