2011-12-02 96 views
1

我正在嘗試編寫一個小腳本,提示用戶輸入他們的電子郵件地址。這封電子郵件的價值被傳遞給一個函數,該函數將他們的電子郵件後綴(如.net,.com,.edu)替換爲.org。我有以下代碼,但它不會替換後綴。任何幫助在這個問題將不勝感激。謝謝。Powershell替換電子郵件後綴

cls 
$mail = Read-Host "Please enter your email address" 

Function Email ($change) 
{ 
    $modified=$change.Replace(".{3}[A-Za-z]", ".org") 
    $modified 
} 

Email $mail 

回答

2

您正在使用不支持正則表達式的String.Replace

此外,你的正則表達式不會做你想做的事情。

.是一個正則表達式中的特殊字符,你想逃避它。 {3}也應該在字符類之後。

嘗試以下:

Function Email ($change) 
{ 
    $modified=$change -replace "\.[a-zA-Z]{3}$", ".org" 
    $modified 
} 

$表示字符串的結尾。

PS:如果你不驗證輸入(通過正則表達式匹配,你可以如用字符串替換爲org)

+0

非常感謝你。這工作!感謝你的幫助。 – user1013264