// Remove until prefix ..................................................... FileName FileName::removeUntilPrefix(const String &prefix) const { size_t pos = find(prefix); if (pos == npos) return *this; FileName result = *this; return result.erase(0, pos + prefix.length()); }
// Remove an extension wherever it is ...................................... FileName FileName::removeExtension(const String &ext) const { FileName retval = *this; size_t first = find((String) "." + ext); return (first == npos) ? retval: retval.erase(first, 1 + ext.length()); }