Refine search
@Override public BasedSequence endSequence(int start) { int length = length(); if (start <= 0) { return subSequence(length, length); } else if (start >= length) { return this; } else { return subSequence(length - start, length); } }
@Override public BasedSequence midSequence(int start) { int length = length(); int useStart = start < 0 ? length + start : start; if (useStart <= 0) { return this; } else if (useStart >= length) { return subSequence(length, length); } else { return subSequence(useStart, length); } }
@Override public BasedSequence subSequence(int start) { return subSequence(start, length()); }
@Override public BasedSequence midSequence(int start, int end) { int length = length(); int useStart = start < 0 ? length + start : start; int useEnd = end < 0 ? length + end : end; if (useStart < 0) useStart = 0; else if (useStart > length) useStart = length; if (useEnd < 0) useEnd = 0; else if (useEnd > length) useEnd = length; if (useStart > useEnd) useStart = useEnd; if (useStart == 0 && useEnd == length) { return this; } else { return subSequence(useStart, useEnd); } }
@Override public BasedSequence endSequence(int start, int end) { int length = length(); int useStart = length - start; int useEnd = length - end; if (useStart < 0) useStart = 0; else if (useStart > length) useStart = length; if (useEnd < 0) useEnd = 0; else if (useEnd > length) useEnd = length; if (useStart > useEnd) useStart = useEnd; if (useStart == 0 && useEnd == length) { return this; } else { return subSequence(useStart, useEnd); } }
@Override public BasedSequence trimTailBlankLines() { int iMax = length(); int lastEOL = iMax; int i; for (i = iMax; i-- > 0; ) { char c = charAt(i); if (c == '\n') lastEOL = i + 1; else if (lastEOL == iMax || (c != ' ' && c != '\t')) break; } if (i < 0) return subSequence(0, 0); if (lastEOL != iMax) return subSequence(0, lastEOL); return this; }
@Override public BasedSequence trimLeadBlankLines() { int iMax = length(); int lastEOL = 0; int i; for (i = 0; i < iMax; i++) { char c = charAt(i); if (c == '\n') lastEOL = i + 1; else if (c != ' ' && c != '\t') break; } if (i == iMax) return subSequence(iMax, iMax); if (lastEOL != 0) return subSequence(lastEOL); return this; }
@Override public BasedSequence trimmedStart(CharSequence chars) { int trim = countChars(chars, 0, length()); return trim > 0 ? subSequence(0, trim) : BasedSequence.NULL; }
@Override public BasedSequence trim(CharSequence chars) { int trimStart = countChars(chars, 0, length()); int trimEnd = countCharsReversed(chars, 0, length()); int trimmed = trimStart + trimEnd; return trimmed > 0 ? (trimmed >= length() ? subSequence(0, 0) : subSequence(trimStart, length() - trimEnd)) : this; }
@Override public BasedSequence trimmedEOL() { int trim = eolLength(); return trim > 0 ? subSequence(length() - trim) : BasedSequence.NULL; }
@Override public BasedSequence trimEnd(CharSequence chars) { int trim = countCharsReversed(chars, 0, length()); return trim > 0 ? subSequence(0, length() - trim) : this; }
@Override public BasedSequence trimmedEnd(CharSequence chars) { int trim = countCharsReversed(chars, 0, length()); return trim > 0 ? subSequence(length() - trim) : BasedSequence.NULL; }
@Override public BasedSequence trimEnd() { int trim = countCharsReversed(WHITESPACE_CHARS, 0, length()); return trim > 0 ? subSequence(0, length() - trim) : this; }
@Override public BasedSequence trimStart(CharSequence chars) { int trim = countChars(chars, 0, length()); return trim > 0 ? subSequence(trim, length()) : this; }
@Override public BasedSequence trimmedEnd() { int trim = countCharsReversed(WHITESPACE_CHARS, 0, length()); return trim > 0 ? subSequence(length() - trim) : BasedSequence.NULL; }
@Override public BasedSequence trimEOL() { int trim = eolLength(); return trim > 0 ? subSequence(0, length() - trim) : this; }
@Override public BasedSequence trim() { int trimStart = countChars(WHITESPACE_CHARS, 0, length()); if (trimStart == length()) { return subSequence(trimStart, trimStart); } int trimEnd = countCharsReversed(WHITESPACE_CHARS, 0, length()); return trimStart > 0 || trimEnd > 0 ? subSequence(trimStart, length() - trimEnd) : this; }
@Override public BasedSequence trimStart() { int trim = countChars(WHITESPACE_CHARS, 0, length()); return trim > 0 ? subSequence(trim, length()) : this; }
@Override public BasedSequence trimmedStart() { int trim = countChars(WHITESPACE_CHARS, 0, length()); return trim > 0 ? subSequence(0, trim) : BasedSequence.NULL; }
@Override public BasedSequence removeProperSuffix(CharSequence suffix, boolean ignoreCase) { return length() <= suffix.length() || !endsWith(suffix, ignoreCase) ? this : subSequence(0, length() - suffix.length()); }