生成具有特殊字符的电子邮件地址

时间:2019-06-24 17:16:32

标签: c# regex powershell utf-8

我的任务是为我们环境中的新用户生成一个电子邮件地址,这些新用户的全名可能带有特殊字符(例如变音符号和重音符号)。虽然某些电子邮件系统可以处理这些字符,但我被告知生成可以将这些字符转换为标准ASCII格式的电子邮件地址。

例如,将JohnSeñior创建为john.senior @ ...,将JaneFraü创建为jane.frau @ ...

任何人都找到了可以满足此类要求的正则表达式或库。

更新-我计划在PowerShell中执行替换,但也可以使用任何Windows编译的库。

1 个答案:

答案 0 :(得分:2)

对我想做的事情有更好的理解,也就是消除了变音符号,我被引向这篇How do I remove diacritics (accents) from a string in .NET?文章,它提供了一个很好的解决方案,我将其转换为用于PowerShell:

$name = "Jane Fraü"
$tempBytes = [System.Text.Encoding]::GetEncoding("ISO-8859-8").GetBytes($name)
$newName = [System.Text.Encoding]::UTF8.GetString($tempBytes)
Write-Host $newName
Jane Frau