/** * Returns a splitter that behaves equivalently to {@code this} splitter, but automatically * removes leading and trailing {@linkplain CharMatcher#whitespace whitespace} from each returned * substring; equivalent to {@code trimResults(CharMatcher.whitespace())}. For example, {@code * Splitter.on(',').trimResults().split(" a, b ,c ")} returns an iterable containing {@code ["a", * "b", "c"]}. * * @return a splitter with the desired configuration */ public Splitter trimResults() { return trimResults(CharMatcher.whitespace()); }
/** * Returns a splitter that behaves equivalently to {@code this} splitter, but automatically * removes leading and trailing {@linkplain CharMatcher#whitespace whitespace} from each returned * substring; equivalent to {@code trimResults(CharMatcher.whitespace())}. For example, {@code * Splitter.on(',').trimResults().split(" a, b ,c ")} returns an iterable containing {@code ["a", * "b", "c"]}. * * @return a splitter with the desired configuration */ public Splitter trimResults() { return trimResults(CharMatcher.whitespace()); }
private static boolean isNegotiate(String value) { return Splitter.on(whitespace()).split(value).iterator().next().equalsIgnoreCase(NEGOTIATE); }
/** * Tests if first sentence contains forbidden summary fragment. * @param firstSentence String with first sentence. * @return true, if first sentence contains forbidden summary fragment. */ private boolean containsForbiddenFragment(String firstSentence) { String javadocText = JAVADOC_MULTILINE_TO_SINGLELINE_PATTERN .matcher(firstSentence).replaceAll(" "); javadocText = CharMatcher.whitespace().trimAndCollapseFrom(javadocText, ' '); return forbiddenSummaryFragments.matcher(javadocText).find(); }
@Override @Nullable public Invokable invoke(Invokation invokation, Object... parameters) { String message = CharMatcher.whitespace().trimFrom(parameters[0].toString()); // this is not a debug line, we are printing to system out System.out.println(message); return null; } };
private static String quote(final String str) { if (str == null) { return ""; } return CharMatcher.whitespace().matchesAnyOf(str) ? '"' + str + '"' : str; }
@Override public boolean processLine(String line) { collector.add(whitespace().trimFrom(line)); return true; }
/** * Processes String resource values in the same way real Android does, namely:- * 1) Trim leading and trailing whitespace. * 2) Converts code points. * 3) Escapes */ public static String processStringResources(String inputValue) { return escape(whitespace().collapseFrom(inputValue.trim(), ' ')); }
@Override public String apply(String string) { return whitespace().trimFrom(string); } }
public CharSequence getCurrentIndentation() { CharSequence sequence = currentLine(); return sequence.length() > 0 && CharMatcher.whitespace().matchesAllOf(sequence) ? sequence : indentation; }
@Override void apply(Invokation invokation, CharSequence content, @Nullable Templates.Invokable original) { invokation.out(CharMatcher.whitespace().trimFrom(content)); } };
public void testCharacterSplitWithMatcherDelimiter() { Iterable<String> testCharacteringMotto = Splitter.on(CharMatcher.whitespace()).split("Testing\nrocks\tDebugging sucks"); assertThat(testCharacteringMotto) .containsExactly("Testing", "rocks", "Debugging", "sucks") .inOrder(); }
private void doExtensiveTest(String resourceName) throws IOException { Splitter splitter = Splitter.on(CharMatcher.whitespace()); URL url = getClass().getResource(resourceName); for (String line : Resources.readLines(url, UTF_8)) { Iterator<String> iterator = splitter.split(line).iterator(); String input = iterator.next(); String expectedOutput = iterator.next(); assertFalse(iterator.hasNext()); assertEquals(expectedOutput, simplifyPath(input)); } } }
@Override void apply(Invokation invokation, CharSequence content, @Nullable Templates.Invokable original) { boolean hasNonWhitespace = !CharMatcher.whitespace().matchesAllOf(content); if (hasNonWhitespace) { if (original != null) { original.invoke(invokation); } else { invokation.out(content); } } } };
public void testStringSplitWithTrim() { String jacksons = "arfo(Marlon)aorf, (Michael)orfa, afro(Jackie)orfa, " + "ofar(Jemaine), aff(Tito)"; Iterable<String> family = Splitter.on(",") .trimResults(CharMatcher.anyOf("afro").or(CharMatcher.whitespace())) .split(jacksons); assertThat(family) .containsExactly("(Marlon)", "(Michael)", "(Jackie)", "(Jemaine)", "(Tito)") .inOrder(); }
@GwtIncompatible // java.util.regex.Pattern public void testPatternSplitWithTrim() { String jacksons = "arfo(Marlon)aorf, (Michael)orfa, afro(Jackie)orfa, " + "ofar(Jemaine), aff(Tito)"; Iterable<String> family = Splitter.on(Pattern.compile(",")) .trimResults(CharMatcher.anyOf("afro").or(CharMatcher.whitespace())) .split(jacksons); assertThat(family) .containsExactly("(Marlon)", "(Michael)", "(Jackie)", "(Jemaine)", "(Tito)") .inOrder(); }
public void testCharacterSplitWithTrim() { String jacksons = "arfo(Marlon)aorf, (Michael)orfa, afro(Jackie)orfa, " + "ofar(Jemaine), aff(Tito)"; Iterable<String> family = COMMA_SPLITTER .trimResults(CharMatcher.anyOf("afro").or(CharMatcher.whitespace())) .split(jacksons); assertThat(family) .containsExactly("(Marlon)", "(Michael)", "(Jackie)", "(Jemaine)", "(Tito)") .inOrder(); }
@Override public String apply(JCImport input) { String importExpr = input.toString(); return CharMatcher.whitespace() .or(CharMatcher.is(';')) .trimTrailingFrom(importExpr); } }));
public void testWhitespaceBreakingWhitespaceSubset() throws Exception { for (int c = 0; c <= Character.MAX_VALUE; c++) { if (breakingWhitespace().matches((char) c)) { assertTrue(Integer.toHexString(c), whitespace().matches((char) c)); } } }
@GwtIncompatible // java.util.BitSet public void testSetBits() { doTestSetBits(CharMatcher.any()); doTestSetBits(CharMatcher.none()); doTestSetBits(is('a')); doTestSetBits(isNot('a')); doTestSetBits(anyOf("")); doTestSetBits(anyOf("x")); doTestSetBits(anyOf("xy")); doTestSetBits(anyOf("CharMatcher")); doTestSetBits(noneOf("CharMatcher")); doTestSetBits(inRange('n', 'q')); doTestSetBits(forPredicate(Predicates.equalTo('c'))); doTestSetBits(CharMatcher.ascii()); doTestSetBits(CharMatcher.digit()); doTestSetBits(CharMatcher.invisible()); doTestSetBits(CharMatcher.whitespace()); doTestSetBits(inRange('A', 'Z').and(inRange('F', 'K').negate())); }