(PureBasic) StringBuilder SetNth
Demonstrates the SetNth method.
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
; The SetNth method is handy for setting a part of a delimited string.
; For example:
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sb,"red,blue," + Chr(34) + "green,purple" + Chr(34) + ",,yellow")
delimiterChar.s = ","
exceptDoubleQuoted.i = 1
exceptEscaped.i = 1
CkStringBuilder::ckSetNth(sb,2,"magenta",delimiterChar,exceptDoubleQuoted,exceptEscaped)
; Prints "red,blue,magenta,,yellow"
Debug CkStringBuilder::ckGetAsString(sb)
CkStringBuilder::ckSetNth(sb,3,"orange",delimiterChar,exceptDoubleQuoted,exceptEscaped)
; Prints "red,blue,magenta,orange,yellow"
Debug CkStringBuilder::ckGetAsString(sb)
; What happens if we start with an empty string?
CkStringBuilder::ckClear(sb)
CkStringBuilder::ckSetNth(sb,2,"apple",delimiterChar,exceptDoubleQuoted,exceptEscaped)
; Prints ",,apple"
Debug CkStringBuilder::ckGetAsString(sb)
CkStringBuilder::ckSetNth(sb,0,"orange",delimiterChar,exceptDoubleQuoted,exceptEscaped)
; Prints "orange,,apple"
Debug CkStringBuilder::ckGetAsString(sb)
CkStringBuilder::ckSetNth(sb,1,"banana",delimiterChar,exceptDoubleQuoted,exceptEscaped)
; Prints "orange,banana,apple"
Debug CkStringBuilder::ckGetAsString(sb)
CkStringBuilder::ckDispose(sb)
ProcedureReturn
EndProcedure
|