Here you can find the source of parseCSV(String data, char... ch)
Parameter | Description |
---|---|
data | a parameter |
public static String[] parseCSV(String data, char... ch)
//package com.java2s; /******************************************************************************* * QMetry Automation Framework provides a powerful and versatile platform to author * Automated Test Cases in Behavior Driven, Keyword Driven or Code Driven approach * // w w w. j a v a 2s. co m * Copyright 2016 Infostretch Corporation * * This program 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 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. * * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT * OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE * * You should have received a copy of the GNU General Public License along with this program in the name of LICENSE.txt in the root folder of the distribution. If not, see https://opensource.org/licenses/gpl-3.0.html * * See the NOTICE.TXT file in root folder of this source files distribution * for additional information regarding copyright ownership and licenses * of other open source software / files used by QMetry Automation Framework. * * For any inquiry or need additional information, please contact support-qaf@infostretch.com *******************************************************************************/ import java.util.ArrayList; import java.util.List; public class Main { public static final char NULL = Character.MIN_VALUE; /** * Method to parse character separated values, generic version of comma * separated values Supports escape Character * * @param data * @param char[] * optional char args<br> * char[0] : Separator - default value ','<br> * char[1] : escape charter - default value '\' * @return */ public static String[] parseCSV(String data, char... ch) { List<String> values = new ArrayList<String>(); char seperator = ((null == ch) || (ch.length < 1) || (ch[0] == NULL)) ? ',' : ch[0]; char escapeChar = ((null == ch) || (ch.length < 2) || (ch[1] == NULL)) ? '\\' : ch[1]; StringBuilder sb = new StringBuilder(); for (int i = 0; i < data.length(); ++i) { char c = data.charAt(i); if (c == seperator) { values.add(sb.toString()); sb = new StringBuilder(); continue; } else if (c == escapeChar) { ++i; c = data.charAt(i); } sb.append(c); } values.add(sb.toString()); return (values.toArray(new String[values.size()])); } }