Public/Set-Token.ps1

<#
 
New string function to replace multiple strings in a string. Multiple replacements can be defined as a hashtable with the string to replace a key and value as the replacement
 
$string = "Hello, this is a #PLACEHOLDER1# great world to #VERB#"
 
$ht = [hashtable]@{
    "#PLACEHOLDER1#" = "really"
    "#VERB#" = "live"
}
 
Set-Tokens -InputString $string -Replacements $ht
 
# Hello, this is a really great world to live
 
 
#>


Function Set-Token {

    param(
         [Parameter(Mandatory=$true)][array]$InputString
        ,[Parameter(Mandatory=$true)][Hashtable]$Replacements
    )

    Process {

        $newString = $InputString

        $Replacements.Keys | ForEach-Object {
            $key = $_
            $newString = $newString -replace $key, $Replacements.$key
        }

        # Return
        return $newString

    }

}