gpt4 book ai didi

powershell - 如何在 PowerShell 中删除重音符号?

转载 作者:行者123 更新时间:2023-12-04 08:57:15 25 4
gpt4 key购买 nike

我有一个在 Microsoft Exchange Server 和 Active Directory 中创建用户的脚本。因此,尽管在西类牙用户名带有重音或 ñ 是很常见的,但我想避免使用它们,因为用户名不会导致旧系统中的任何不兼容。

那么,我怎么能清理这样的字符串呢?

$name = "Ramón"

要那样? :
$name = "Ramon"

最佳答案

根据 ip. 的回答,这是 Powershell 版本。

function Remove-Diacritics {
param ([String]$src = [String]::Empty)
$normalized = $src.Normalize( [Text.NormalizationForm]::FormD )
$sb = new-object Text.StringBuilder
$normalized.ToCharArray() | % {
if( [Globalization.CharUnicodeInfo]::GetUnicodeCategory($_) -ne [Globalization.UnicodeCategory]::NonSpacingMark) {
[void]$sb.Append($_)
}
}
$sb.ToString()
}

# Test data
@("Rhône", "Basíl", "Åbo", "", "Gräsäntörmä") | % { Remove-Diacritics $_ }

输出:
Rhone
Basil
Abo

Grasantorma

关于powershell - 如何在 PowerShell 中删除重音符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7836670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com