Sample code for 30+ languages & platforms
Xbase++

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oSb
LOCAL nRemoveFlag
LOCAL cMarker
LOCAL cSubstr

nSuccess := 0

oSb := CreateObject("Chilkat.StringBuilder")
nSuccess := oSb:Append("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 1, then both the returned string AND
//  the marker are removed.
nRemoveFlag := 0
cMarker := "."
cSubstr := oSb:GetBefore(cMarker, nRemoveFlag)
? "substr = " + cSubstr
? "sb contains: " + oSb:GetAsString()

//  Output:
//  substr = www
//  sb contains: www.chilkatsoft.com

nRemoveFlag := 1
cSubstr := oSb:GetBefore(cMarker, nRemoveFlag)
? "substr = " + cSubstr
? "sb contains: " + oSb:GetAsString()

//  Output:
//  substr = www
//  sb contains: chilkatsoft.com

//  If the marker is not found, and the removeFlag is 1,
//  then the entire string is returned and the sb is cleared.
//  For example:
oSb:Clear()
oSb:Append("111--222--333--444")
cMarker := "--"
nRemoveFlag := 1
DO WHILE (oSb:Length > 0)
    cSubstr := oSb:GetBefore(cMarker, nRemoveFlag)
    ? "substr = " + cSubstr + ", sb contains: " + oSb:GetAsString()
ENDDO

//  Output is:
//  substr = 111, sb contains: 222--333--444
//  substr = 222, sb contains: 333--444
//  substr = 333, sb contains: 444
//  substr = 444, sb contains:

oSb:destroy()