Added string replace all.

This commit is contained in:
Branimir Karadžić
2016-05-05 22:55:05 -07:00
parent 5ef95c8205
commit e5d3c045d5

View File

@@ -386,6 +386,23 @@ namespace bx
va_end(argList);
}
/// Replace all instances of substring.
template <typename Ty>
inline Ty replaceAll(const Ty& _str, const char* _from, const char* _to)
{
Ty str = _str;
size_t startPos = 0;
const size_t fromLen = strlen(_from);
const size_t toLen = strlen(_to);
while ( (startPos = str.find(_from, startPos) ) != Ty::npos)
{
str.replace(startPos, fromLen, _to);
startPos += toLen;
}
return str;
}
/// Extract base file name from file path.
inline const char* baseName(const char* _filePath)
{