DataFlex
DataFlex
StringBuilder GetBefore
Demonstrates the StringBuilder.GetBefore method.The GetBefore method was added in Chilkat v9.5.0.77
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSb
Boolean iRemoveFlag
String sMarker
String sSubstr
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
If (Not(IsComObjectCreated(hoSb))) Begin
Send CreateComObject of hoSb
End
Get ComAppend Of hoSb "www.chilkatsoft.com" To iSuccess
// 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.
Move False To iRemoveFlag
Move "." To sMarker
Get ComGetBefore Of hoSb sMarker iRemoveFlag To sSubstr
Showln "substr = " sSubstr
Get ComGetAsString Of hoSb To sTemp1
Showln "sb contains: " sTemp1
// Output:
// substr = www
// sb contains: www.chilkatsoft.com
Move True To iRemoveFlag
Get ComGetBefore Of hoSb sMarker iRemoveFlag To sSubstr
Showln "substr = " sSubstr
Get ComGetAsString Of hoSb To sTemp1
Showln "sb contains: " sTemp1
// 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:
Send ComClear To hoSb
Get ComAppend Of hoSb "111--222--333--444" To iSuccess
Move "--" To sMarker
Move True To iRemoveFlag
While ((ComLength(hoSb)) > 0)
Get ComGetBefore Of hoSb sMarker iRemoveFlag To sSubstr
Get ComGetAsString Of hoSb To sTemp1
Showln "substr = " sSubstr ", sb contains: " sTemp1
Loop
// Output is:
// substr = 111, sb contains: 222--333--444
// substr = 222, sb contains: 333--444
// substr = 333, sb contains: 444
// substr = 444, sb contains:
End_Procedure