Function Powershell-如何构建函数以用其他字符替换某些特殊字符

Function Powershell-如何构建函数以用其他字符替换某些特殊字符,function,powershell,Function,Powershell,我正在尝试在Powershell中构建一个函数,每当我必须用其他字符替换特殊字符列表时,都可以使用该函数。例如,以下是特殊字符列表: $Specialchars = '["ü","ä","ö","ß","æ","Œ","œ","°","~","Ø"]' 我希望这个函数可以用“ue”替换“u”,或者

我正在尝试在Powershell中构建一个函数,每当我必须用其他字符替换特殊字符列表时,都可以使用该函数。例如,以下是特殊字符列表:

$Specialchars = '["ü","ä","ö","ß","æ","Œ","œ","°","~","Ø"]'
我希望这个函数可以用“ue”替换“u”,或者用“o”替换“Ø”,等等。其思想是对任何字符串运行函数,我希望以我希望的方式替换这些特殊字符

目前,我尝试了以下方法:

function ReplaceSpecialChars($chars)
{
    return $chars -replace "Ø","o"
    return $chars -replace "~",""
    return $chars -replace "œ","oe"
}
它只有在找到第一个特殊字符“Ø”时才起作用,例如,当我对带有“~”的字符串运行它时,它就不起作用了。我根本不是Powershell函数的专家,所以我想知道是否有人能给我一些提示


非常感谢

在执行下一步操作之前,必须指定替换结果

以下是该函数的更新版本,包括定义替换的方法:

function ReplaceSpecialChars([string]$string){
#定义替换:
@{
“ä”=“ae”
“ß”=“ss”
# ...
}.GetEnumerator()| foreach{
$string=$string.Replace($\.Key,$\.Value)
}
返回$string
}
请注意,您可能需要定义小写+大写替换。

现在有一个新问题:)我试图添加大写字符,但现在出现错误,因为它认为它们在哈希表中是重复的。。处理大写替换的其他方法?