支持所有Powershell版本
在先前的技巧中我们阐述了怎么去替换文本中特殊的字符。今天这里有另一个方法它可能会稍稍慢一点,但是能更方便维护。其中哈希表的特性要区分大小写:
function ConvertTo-PrettyText($Text) { $hash = New-Object -TypeName HashTable $hash.'ä' = 'ae' $hash.'ö' = 'oe' $hash.'ü' = 'ue' $hash.'ß' = 'ss' $hash.'Ä' = 'Ae' $hash.'Ö' = 'Oe' $Hash.'Ü' = 'Ue' Foreach ($key in $hash.Keys) { $Text = $text.Replace($key, $hash.$key) } $Text }
注意其中函数没有通过”@{}”来定义成一个哈希表,但是实例化了一个哈希表对象。现在这个哈希表在PS中调用是不用再区分大小写,而只要在函数中创建中注意大小写。 这个脚本必需注意函数中的大小写。
PS> ConvertTo-PrettyText -Text 'Mr. Össterßlim' Mr. Oesstersslim PS>
要追加替换对象, 只需非常简单添加相应前缀的字符串到哈希表和它的替换内容的值。
你还可以指定成ASCLL码,下面代码将不同,它将哈希表的键换成了ASCLL码。
function ConvertTo-PrettyText($Text) { $hash = @{ 228 = 'ae' 246 = 'oe' 252 = 'ue' 223 = 'ss' 196 = 'Ae' 214 = 'Oe' 220 = 'Ue' } foreach($key in $hash.Keys) { $Text = $text.Replace([String][Char]$key, $hash.$key) } $Text }
原文地址:Converting Special Characters, Part 2
本文链接: https://www.pstips.net/converting-special-characters-part-2.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!