BString: Add IStartsWith() and IEndsWith() methods
Case-insensitive version of StartsWith() and EndsWith()
This commit is contained in:
@@ -243,10 +243,18 @@ public:
|
|||||||
bool StartsWith(const char* string) const;
|
bool StartsWith(const char* string) const;
|
||||||
bool StartsWith(const char* string, int32 length) const;
|
bool StartsWith(const char* string, int32 length) const;
|
||||||
|
|
||||||
|
bool IStartsWith(const BString& string) const;
|
||||||
|
bool IStartsWith(const char* string) const;
|
||||||
|
bool IStartsWith(const char* string, int32 length) const;
|
||||||
|
|
||||||
bool EndsWith(const BString& string) const;
|
bool EndsWith(const BString& string) const;
|
||||||
bool EndsWith(const char* string) const;
|
bool EndsWith(const char* string) const;
|
||||||
bool EndsWith(const char* string, int32 length) const;
|
bool EndsWith(const char* string, int32 length) const;
|
||||||
|
|
||||||
|
bool IEndsWith(const BString& string) const;
|
||||||
|
bool IEndsWith(const char* string) const;
|
||||||
|
bool IEndsWith(const char* string, int32 length) const;
|
||||||
|
|
||||||
// Replacing
|
// Replacing
|
||||||
BString& ReplaceFirst(char replaceThis, char withThis);
|
BString& ReplaceFirst(char replaceThis, char withThis);
|
||||||
BString& ReplaceLast(char replaceThis, char withThis);
|
BString& ReplaceLast(char replaceThis, char withThis);
|
||||||
|
|||||||
@@ -1412,6 +1412,30 @@ BString::StartsWith(const char* string, int32 length) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
BString::IStartsWith(const BString& string) const
|
||||||
|
{
|
||||||
|
return IStartsWith(string.String(), string.Length());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
BString::IStartsWith(const char* string) const
|
||||||
|
{
|
||||||
|
return IStartsWith(string, strlen(string));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
BString::IStartsWith(const char* string, int32 length) const
|
||||||
|
{
|
||||||
|
if (length > Length() || length > (int32)strlen(string))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return _IFindAfter(string, 0, length) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BString::EndsWith(const BString& string) const
|
BString::EndsWith(const BString& string) const
|
||||||
{
|
{
|
||||||
@@ -1437,6 +1461,31 @@ BString::EndsWith(const char* string, int32 length) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
BString::IEndsWith(const BString& string) const
|
||||||
|
{
|
||||||
|
return IEndsWith(string.String(), string.Length());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
BString::IEndsWith(const char* string) const
|
||||||
|
{
|
||||||
|
return IEndsWith(string, strlen(string));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
BString::IEndsWith(const char* string, int32 length) const
|
||||||
|
{
|
||||||
|
int32 offset = Length() - length;
|
||||||
|
if (offset < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return _IFindBefore(string, Length(), length) == offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark - Replacing
|
// #pragma mark - Replacing
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user