PureBasic
PureBasic
StringBuilder GetBefore
Demonstrates the StringBuilder.GetBefore method.The GetBefore method was added in Chilkat v9.5.0.77
Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
success.i = 0
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckAppend(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 1, then both the returned string AND
; the marker are removed.
removeFlag.i = 0
marker.s = "."
substr.s = CkStringBuilder::ckGetBefore(sb,marker,removeFlag)
Debug "substr = " + substr
Debug "sb contains: " + CkStringBuilder::ckGetAsString(sb)
; Output:
; substr = www
; sb contains: www.chilkatsoft.com
removeFlag = 1
substr = CkStringBuilder::ckGetBefore(sb,marker,removeFlag)
Debug "substr = " + substr
Debug "sb contains: " + CkStringBuilder::ckGetAsString(sb)
; 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:
CkStringBuilder::ckClear(sb)
CkStringBuilder::ckAppend(sb,"111--222--333--444")
marker = "--"
removeFlag = 1
While (CkStringBuilder::ckLength(sb) > 0)
substr = CkStringBuilder::ckGetBefore(sb,marker,removeFlag)
Debug "substr = " + substr + ", sb contains: " + CkStringBuilder::ckGetAsString(sb)
Wend
; 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::ckDispose(sb)
ProcedureReturn
EndProcedure