@Override public BasedSequence nullIfEndsWithNot(final CharSequence... matches) { for (CharSequence match : matches) { if (endsWith(match)) return this; } return BasedSequence.NULL; }
@Override public BasedSequence nullIfEndsWith(final CharSequence... matches) { for (CharSequence match : matches) { if (endsWith(match)) return BasedSequence.NULL; } return this; }
@Override public BasedSequence removeSuffix(CharSequence suffix) { return !endsWith(suffix) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence removeSuffix(CharSequence suffix, boolean ignoreCase) { return !endsWith(suffix, ignoreCase) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence removeProperSuffix(CharSequence suffix) { return length() <= suffix.length() || !endsWith(suffix) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence removeProperSuffix(CharSequence suffix, boolean ignoreCase) { return length() <= suffix.length() || !endsWith(suffix, ignoreCase) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence nullIfEndsWithNot(final CharSequence... matches) { for (CharSequence match : matches) { if (endsWith(match)) return this; } return BasedSequence.NULL; }
@Override public BasedSequence nullIfEndsWith(final CharSequence... matches) { for (CharSequence match : matches) { if (endsWith(match)) return BasedSequence.NULL; } return this; }
@Override public BasedSequence removeSuffix(CharSequence suffix, boolean ignoreCase) { return !endsWith(suffix, ignoreCase) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence removeSuffix(CharSequence suffix) { return !endsWith(suffix) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence removeProperSuffix(CharSequence suffix) { return length() <= suffix.length() || !endsWith(suffix) ? this : subSequence(0, length() - suffix.length()); }
@Override public BasedSequence removeProperSuffix(CharSequence suffix, boolean ignoreCase) { return length() <= suffix.length() || !endsWith(suffix, ignoreCase) ? this : subSequence(0, length() - suffix.length()); }