Lambda-Ausdruck in Powershell

Ich habe einen Code in C #, der Lambda-Ausdrücke für die Übergabe an eine Methode verwendet. Wie kann ich dies in PowerShell erreichen? Das folgende Beispiel ist ein C # -Code:

string input = "(,)(;)(:)(!)";
string pattern = @"\((?<val>[\,\!\;\:])\)";
var r = new Regex(pattern);
string result = r.Replace(input, m =>
    {
        if (m.Groups["val"].Value == ";") return "[1]";
        else return "[0]";
    });
Console.WriteLine(result);

Und dies ist das PowerShell-Skript ohne den Lambda-Ausdruck:

$input = "(,)(;)(:)(!)";
$pattern = "\((?<val>[\,\!\;\:])\)";
$r = New-Object System.Text.RegularExpressions.Regex $pattern
$result = $r.Replace($input, "WHAT HERE?")
Write-Host $result

Hinweis: Meine Frage bezieht sich nicht auf die Lösung dieses Problems mit regulären Ausdrücken. Ich möchte nur wissen, wie ein Lambda-Ausdruck an eine Methode übergeben wird, die Delegaten in PowerShell empfängt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage