C
C
StringBuilder GetBefore
Demonstrates the StringBuilder.GetBefore method.The GetBefore method was added in Chilkat v9.5.0.77
Chilkat C Downloads
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkStringBuilder sb;
BOOL removeFlag;
const char *marker;
const char *substr;
success = FALSE;
sb = CkStringBuilder_Create();
success = CkStringBuilder_Append(sb,"www.chilkatsoft.com");
// The GetBefore method returns the contents of the string up to but not including
// the marker string. If the remove flag is TRUE, then both the returned string AND
// the marker are removed.
removeFlag = FALSE;
marker = ".";
substr = CkStringBuilder_getBefore(sb,marker,removeFlag);
printf("substr = %s\n",substr);
printf("sb contains: %s\n",CkStringBuilder_getAsString(sb));
// Output:
// substr = www
// sb contains: www.chilkatsoft.com
removeFlag = TRUE;
substr = CkStringBuilder_getBefore(sb,marker,removeFlag);
printf("substr = %s\n",substr);
printf("sb contains: %s\n",CkStringBuilder_getAsString(sb));
// Output:
// substr = www
// sb contains: chilkatsoft.com
// If the marker is not found, and the removeFlag is TRUE,
// then the entire string is returned and the sb is cleared.
// For example:
CkStringBuilder_Clear(sb);
CkStringBuilder_Append(sb,"111--222--333--444");
marker = "--";
removeFlag = TRUE;
while ((CkStringBuilder_getLength(sb) > 0)) {
substr = CkStringBuilder_getBefore(sb,marker,removeFlag);
printf("substr = %s, sb contains: %s\n",substr,CkStringBuilder_getAsString(sb));
}
// Output is:
// substr = 111, sb contains: 222--333--444
// substr = 222, sb contains: 333--444
// substr = 333, sb contains: 444
// substr = 444, sb contains:
CkStringBuilder_Dispose(sb);
}