0

我有一个写在 Word 文档中的脚本。现在我必须改变性别(我用名字列表来做这件事),问题是这里的很多人都有第二个名字,要么带有“-”,要么之间有空格。

例子

John-Mark smith
Alexander Robert Bails
Sasha baster

我的脚本只有在我能得到第一个名字(John/Alexander/Sasha)的情况下才有效,但我不知道我该怎么做。我从 txt 中获取用户。具有以下标题的文件:ID、名字、姓氏、帐户、rndPW、SMTP、...、...

$smtp = $_.smtp
$username = $_.account
$name = $_.lastname
$name1 = $_.lastname
$name2 = $_.lastname
$fistname= $_.firstname
$firstname1= $_.firstname
$passwort = $_.rndPW


$strTitel = "Dear Sir/Madam "+$name
get-content "D:\Files\PowerShell\Work\User\createPDF\test\firstnames_male.csv" | where-object {$_ -eq $firstname[0]} | foreach-object { $strTitel = "Dear Sir"+$name }
get-content "D:\Files\PowerShell\Work\User\createPDF\test\firstnames_female.csv" | where-object {$_ -eq $firstname[0]} | foreach-object { $strTitel = "Dear Madam"+$name }
get-content "D:\Files\PowerShell\Work\User\createPDF\test\firstnames_unspecific.csv" | where-object {$_ -eq $firstname[0]} | foreach-object { $strTitel = "Dear Sir / Madam"+$name }
4

1 回答 1

2

我假设 $name 变量是字符串形式的名称。我们只需要它的第一部分,直到第一个空格或破折号 (-) 字符。

$nameslist = $name.Replace("-", " ").Split(" ")
$firstfirstname = $nameslist | Select-Object -first 1

我想第一个名字决定了性别,不需要考虑所有这些。

于 2020-06-25T08:58:16.347 回答