MCPcopy Create free account
hub / github.com/apache/solr / splitWS

Method splitWS

solr/solrj/src/java/org/apache/solr/common/util/StrUtils.java:200–247  ·  view source on GitHub ↗
(String s, boolean decode)

Source from the content-addressed store, hash-verified

198 }
199
200 public static List<String> splitWS(String s, boolean decode) {
201 ArrayList<String> lst = new ArrayList<>(2);
202 StringBuilder sb = new StringBuilder();
203 int pos = 0, end = s.length();
204 while (pos < end) {
205 char ch = s.charAt(pos++);
206 if (Character.isWhitespace(ch)) {
207 if (sb.length() > 0) {
208 lst.add(sb.toString());
209 sb = new StringBuilder();
210 }
211 continue;
212 }
213
214 if (ch == '\\') {
215 if (!decode) sb.append(ch);
216 if (pos >= end) break; // ERROR, or let it go?
217 ch = s.charAt(pos++);
218 if (decode) {
219 switch (ch) {
220 case 'n':
221 ch = '\n';
222 break;
223 case 't':
224 ch = '\t';
225 break;
226 case 'r':
227 ch = '\r';
228 break;
229 case 'b':
230 ch = '\b';
231 break;
232 case 'f':
233 ch = '\f';
234 break;
235 }
236 }
237 }
238
239 sb.append(ch);
240 }
241
242 if (sb.length() > 0) {
243 lst.add(sb.toString());
244 }
245
246 return lst;
247 }
248
249 public static List<String> toLower(List<String> strings) {
250 ArrayList<String> ret = new ArrayList<>(strings.size());

Callers 1

testSplitEscapingMethod · 0.95

Calls 6

lengthMethod · 0.65
addMethod · 0.65
toStringMethod · 0.65
appendMethod · 0.65
charAtMethod · 0.45
isWhitespaceMethod · 0.45

Tested by 1

testSplitEscapingMethod · 0.76