Sample code for 30+ languages & platforms
PowerShell

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

$sb = New-Object Chilkat.StringBuilder
$success = $sb.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 $true, then both the returned string AND
# the marker are removed.
$removeFlag = $false
$marker = "."
$substr = $sb.GetBefore($marker,$removeFlag)
$("substr = " + $substr)
$("sb contains: " + $sb.GetAsString())

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

$removeFlag = $true
$substr = $sb.GetBefore($marker,$removeFlag)
$("substr = " + $substr)
$("sb contains: " + $sb.GetAsString())

# 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:
$sb.Clear()
$sb.Append("111--222--333--444")
$marker = "--"
$removeFlag = $true
while (($sb.Length -gt 0)) {
    $substr = $sb.GetBefore($marker,$removeFlag)
    $("substr = " + $substr + ", sb contains: " + $sb.GetAsString())
}

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