public StrBuilder deleteFirst(StrMatcher matcher) { return replace(matcher, null, 0, size, 1);
public StrBuilder deleteFirst(char ch) { for (int i = 0; i < size; i++) { if (buffer[i] == ch) { deleteImpl(i, i + 1, 1); break; } } return this;
    public StrBuilder deleteFirst(StrMatcher matcher) {        return replace(matcher, null, 0, size, 1);    }