22 package com.realtime.crossfire.jxclient.util;
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.regex.Pattern;
27 import org.jetbrains.annotations.NotNull;
53 public static String
trimLeading(@NotNull
final CharSequence str) {
54 return PATTERN_LEADING_WHITESPACE.matcher(str).replaceAll(
"");
65 final List<String> tokens =
new ArrayList<>(64);
67 final char[] chars = line.toCharArray();
70 while (i < chars.length) {
71 while (i < chars.length && (chars[i] ==
' ' || chars[i] ==
'\t')) {
76 if (i < chars.length && (chars[i] ==
'"' || chars[i] ==
'\'')) {
78 final char quoteChar = chars[i++];
80 while (i < chars.length && chars[i] != quoteChar) {
83 if (i >= chars.length) {
91 while (i < chars.length && chars[i] !=
' ' && chars[i] !=
'\t') {
96 tokens.add(line.substring(start, end));
99 return tokens.toArray(
new String[tokens.size()]);
StringUtils()
Private constructor to prevent instantiation.
Utility class for string manipulation.
static final Pattern PATTERN_LEADING_WHITESPACE
A pattern matching leading whitespace.
Exception thrown for unterminated quoted tokens.
static String [] splitFields(@NotNull final String line)
Splits a line into tokens.
static String trimLeading(@NotNull final CharSequence str)
Removes leading whitespace from a string.