First, I have to say that I hate sf::String, and I don't think that I'll make it a super powerful string class.
sf::String Trim() const;
And why not LTrim (leading only) and RTrim (trailing only)
What can be considered a whitespace? In the Unicode world, there are probably more than the usual {tab, space, line feed} set.
- Extracting a sub-string:
sf::String Substr(size_t Index, size_t Length) const;
It is already pending in the task tracker.
- Replacing occurences:
sf::String Replace(const sf::String& LookFor, const sf::String& ReplaceBy) const;
Why not.
- Converting to lowercase:
sf::String ToLowerCase() const;
- Converting to uppercase:
sf::String ToUpperCase() const;
Definitely not. These operations are super complicated when dealing with the full Unicode range.
As a conclusion, I may add more functions in the future, but none that requires to
interpret the characters.
You can search the task that already exists in the issue tracker, and add your suggestions to it (only Replace please, so that I won't have to duplicate my answer there
).
Thanks for your feedback.