Guest User

Untitled

a guest
Jan 23rd, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.93 KB | None | 0 0
  1. public static String[] parseLine(String string) {
  2.         ArrayList<String> returnArgs = new ArrayList<String>();
  3.  
  4.         boolean inQuote = false;
  5.         boolean isEscaped = false;
  6.  
  7.         StringBuilder curr = new StringBuilder();
  8.  
  9.         for (char s : string.toCharArray()) {
  10.             String chr = String.valueOf(s);
  11.             if (isEscaped) {
  12.                 curr.append(chr);
  13.                 isEscaped=false;
  14.             } else {
  15.                 if (chr.equalsIgnoreCase("\\")) {
  16.                     isEscaped=true;
  17.                 } else if (chr.equalsIgnoreCase(" ")) {
  18.                     if (inQuote) {
  19.                         curr.append(" ");
  20.                     } else {
  21.                         if (curr.toString().replace(" ", "").length()>0) {
  22.                             returnArgs.add(curr.toString().trim());
  23.                         }
  24.                         curr = new StringBuilder();
  25.                     }
  26.                 } else if (chr.equalsIgnoreCase("\"")) {
  27.                     inQuote = !inQuote;
  28.                 } else {
  29.                     curr.append(chr);
  30.                 }
  31.             }
  32.         }
  33.         returnArgs.add(curr.toString());
  34.         String[] rtrn = new String[returnArgs.size()];
  35.         return returnArgs.toArray(rtrn);
  36.     }
Add Comment
Please, Sign In to add comment