我正在尝试编写一个小脚本,提示用户输入他们的电子邮件地址。此电子邮件的值将传递给一个函数,该函数将其.net,.com,.edu等电子邮件后缀替换为.org。我有以下代码,但它不替换后缀。任何有关此事的帮助将不胜感激。谢谢。
cls
$mail = Read-Host "Please enter your email address"
Function Email ($change)
{
$modified=$change.Replace(".{3}[A-Za-z]", ".org")
$modified
}
Email $mail
答案 0 :(得分:2)
您使用的String.Replace
与正则表达式不兼容。
此外,你的正则表达式不能做你想做的事。
.
是正则表达式中的一个特殊字符,你想逃避它。 {3}
也应该在字符类之后。
尝试以下方法:
Function Email ($change)
{
$modified=$change -replace "\.[a-zA-Z]{3}$", ".org"
$modified
}
$
表示字符串结束。
PS:如果您没有验证输入(通过正则表达式匹配,您也可以使用子字符串替换为org)