Java String Tokenize tokenizeQuotes(String f1)

Here you can find the source of tokenizeQuotes(String f1)

Description

tokenize Quotes

License

Open Source License

Declaration

public static ArrayList<String> tokenizeQuotes(String f1) 

Method Source Code


//package com.java2s;
/*/*from  w  w w  .  j  a v  a 2 s  . co m*/
 * Copyright (C) 2014  Sheng Cao <sca6096@gmail.com>. All rights reserved.
 * 
 * The file is part of English-Semantics-Extraction.
 * 
 * English-Semantics-Extraction is free software: you can redistribute it
 * and/or modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either version 3 of the License,
 * or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * Please contact sca6096@gmail.com if you need additional information
 * or have any questions.
 */

import java.util.*;

public class Main {
    public static ArrayList<String> tokenizeQuotes(String f1) {
        ArrayList<String> fin = new ArrayList();
        StringBuilder temp = new StringBuilder();
        boolean inQuote = false;
        for (int i = 0; i < f1.length(); i++) {
            if (!inQuote)
                if (Character.isWhitespace(f1.charAt(i)))
                    continue;
            boolean enter = false;
            boolean exit = false;
            if (f1.charAt(i) == '"') {
                if (i == 0) {
                    inQuote = true;
                } else {
                    if (!inQuote) {
                        enter = true;
                        inQuote = true;
                    } else {
                        if (f1.charAt(i - 1) != '\\') {
                            exit = true;
                            inQuote = false;
                        }
                    }
                }
            }
            if (enter) {
                fin.add(temp.toString());
                temp = new StringBuilder();
            }
            temp.append(f1.charAt(i));
            if (exit) {
                fin.add(temp.toString());
                temp = new StringBuilder();
            }
        }
        if (temp.length() != 0)
            fin.add(temp.toString());
        return fin;
    }
}

Related

  1. tokenizeOnWhitespace(String input)
  2. tokenizePath(String path)
  3. tokenizePathAsArray(String path)
  4. tokenizePattern(String pattern)
  5. tokenizeQuotedStrings(final String aInput, final String aDelimiters)
  6. tokenizeStatement(String statement)
  7. tokenizeString(final String inputString, final String seperator)
  8. tokenizeString(String inString, char delimiter, String enclosures)
  9. tokenizeStringArray(String[] array, String token)