Sample code for 30+ languages & platforms
Lianja

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loSb = createobject("CkStringBuilder")
llSuccess = loSb.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 .T., then both the returned string AND
// the marker are removed.
llRemoveFlag = .F.
lcMarker = "."
lcSubstr = loSb.GetBefore(lcMarker,llRemoveFlag)
? "substr = " + lcSubstr
? "sb contains: " + loSb.GetAsString()

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

llRemoveFlag = .T.
lcSubstr = loSb.GetBefore(lcMarker,llRemoveFlag)
? "substr = " + lcSubstr
? "sb contains: " + loSb.GetAsString()

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

// If the marker is not found, and the removeFlag is .T.,
// then the entire string is returned and the sb is cleared.
// For example:
loSb.Clear()
loSb.Append("111--222--333--444")
lcMarker = "--"
llRemoveFlag = .T.
do while (loSb.Length > 0)
    lcSubstr = loSb.GetBefore(lcMarker,llRemoveFlag)
    ? "substr = " + lcSubstr + ", sb contains: " + loSb.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: 


release loSb