Powershell заменяет суффикс электронной почты - PullRequest
1 голос
/ 02 декабря 2011

Я пытаюсь написать небольшой скрипт, который запрашивает у пользователей адрес электронной почты. Значение этого письма передается функции, которая заменяет их суффикс, такой как .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

1 Ответ

2 голосов
/ 02 декабря 2011

Вы используете String.Replace, который не работает с регулярным выражением.

Кроме того, ваше регулярное выражение не делает то, что вы хотите.

. - это специальный символ в регулярном выражении, и вы хотите избежать его. Также {3} должно быть после класса персонажа.

Попробуйте следующее:

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

$ указывает на конец строки.

PS: Если вы не проверяете ввод (с помощью регулярного выражения, вы также можете использовать подстроку для замены на org)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...