我想创建一个小脚本,它采用特定类型的字符串并以一种我可以轻松处理的方式使用它
问题是我如何开始处理它,以便我不创建怪物if / else案例?或者我应该这样做?
EDIT。由于这是Microsoft Exchange电子邮件模板行为,只是想解释这是针对没有内部部署选项的Office 365,它没有电子邮件模板选项。换句话说,我想创建一个以某种方式模仿这种行为的脚本。
答案 0 :(得分:1)
$firstName = "Alice"
$lastName = "Bloggs"
$template = '%2g.%s@example.com'
function Get-NameSection {
# Returns the first $num characters of a name
# unless $num is 0, missing or longer than the name
# then returns the entire name
param([string]$name, [int]$num)
if (-not $num -or $num -gt $name.Length) {
$name
} else {
$name.Substring(0, $num)
}
}
$template = [regex]::Replace($template, '%(\d*)g', {param($m) Get-NameSection $firstName $m.Groups[1].Value })
$template = [regex]::Replace($template, '%(\d*)s', {param($m) Get-NameSection $lastName $m.Groups[1].Value })
$template