Expand-PlaceholderString

EulandaXtools — Funktionsreferenz

Expand-PlaceholderString

ÜBERSICHT

Ersetzt Platzhalter-Tokens in einem Template-String durch Variablenwerte, mit Unterstützung für Bedingungen, Formatierung und System-Variablen.

SYNTAX

Expand-PlaceholderString [-Template] <string> [[-Variables] <hashtable>] [[-Delimiter] <char>]
    [-SkipUnknown] [[-Culture] <System.Globalization.CultureInfo>] [<CommonParameters>]

BESCHREIBUNG

Portierung der Delphi-Engine ReplaceVars (elString.pas) und TCnFormatNamedStrings.Get nach PowerShell. Zeichenweise Verarbeitung mit Stack-basierten verschachtelten Bedingungen.

Tokens werden durch Delimiter-Zeichen begrenzt (Standard: %). Unterstützt:

PARAMETER

-Template

Type: string

Der Template-String mit Platzhaltern.

-Variables

Type: hashtable
Default: @{}

Hashtable mit Variablennamen und ihren Werten.

-Delimiter

Type: char
Default: '%'

Das Begrenzungszeichen für Platzhalter. Standard: '%'.

-SkipUnknown

Type: switch

Wenn gesetzt, bleiben unbekannte Platzhalter als %name% im Ergebnis erhalten. Ohne diesen Switch werden unbekannte Platzhalter durch Leerstring ersetzt.

-Culture

Type: System.Globalization.CultureInfo
Default: $null

Die Kultur für Datums- und Zahlenformatierung. Standard: de-DE.

AUSGABEN

string

BEISPIELE

Expand-PlaceholderString -Template 'Hallo %Name%!' -Variables @{Name='Welt'}
# Gibt 'Hallo Welt!' zurück
$vars = @{KopfNummer='20212869'; Datum=[datetime]'2026-02-16'}
Expand-PlaceholderString -Template 'Rechnung %KopfNummer% vom %FDdd.mm.yyyy:Datum%' -Variables $vars
# Gibt 'Rechnung 20212869 vom 16.02.2026' zurück
Expand-PlaceholderString -Template '%?HasDiscount%Rabatt: %Discount%%?|%Kein Rabatt%?%' -Variables @{HasDiscount='1'; Discount='10%'}
# Gibt 'Rabatt: 10%' zurück