mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 15:41:15 +00:00
Codechange: add function to determine whether are string starts or ends with a given other string
This commit is contained in:
parent
2d0abf5a76
commit
fed3e3305f
@ -358,6 +358,33 @@ void StrTrimInPlace(std::string &str)
|
||||
StrRightTrimInPlace(str);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether the given string starts with the given prefix.
|
||||
* @param str The string to look at.
|
||||
* @param prefix The prefix to look for.
|
||||
* @return True iff the begin of the string is the same as the prefix.
|
||||
*/
|
||||
bool StrStartsWith(const std::string_view str, const std::string_view prefix)
|
||||
{
|
||||
size_t prefix_len = prefix.size();
|
||||
if (str.size() < prefix_len) return false;
|
||||
return str.compare(0, prefix_len, prefix, 0, prefix_len) == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether the given string ends with the given suffix.
|
||||
* @param str The string to look at.
|
||||
* @param suffix The suffix to look for.
|
||||
* @return True iff the end of the string is the same as the suffix.
|
||||
*/
|
||||
bool StrEndsWith(const std::string_view str, const std::string_view suffix)
|
||||
{
|
||||
size_t suffix_len = suffix.size();
|
||||
if (str.size() < suffix_len) return false;
|
||||
return str.compare(str.size() - suffix_len, suffix_len, suffix, 0, suffix_len) == 0;
|
||||
}
|
||||
|
||||
|
||||
/** Scans the string for colour codes and strips them */
|
||||
void str_strip_colours(char *str)
|
||||
{
|
||||
|
@ -51,6 +51,9 @@ bool strtolower(std::string &str, std::string::size_type offs = 0);
|
||||
bool StrValid(const char *str, const char *last) NOACCESS(2);
|
||||
void StrTrimInPlace(std::string &str);
|
||||
|
||||
bool StrStartsWith(const std::string_view str, const std::string_view prefix);
|
||||
bool StrEndsWith(const std::string_view str, const std::string_view suffix);
|
||||
|
||||
/**
|
||||
* Check if a string buffer is empty.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user