Ich versuche, ein vorhandenes Skript so zu ändern, dass mein Benutzername aus dem Anfangsbuchstaben des Vornamens und dem Nachnamen besteht. Beispiel: Der Benutzername von John Doe lautet j.doe. Das aktuelle Skript funktioniert (ohne den Punkt.) wie folgt: $firstname.substring(0,$i) + $lastname
Danke.
Antwort1
Es gibt mehrere Möglichkeiten, diese Zeichenfolge zu erstellen. [Grinsen] hier sind 4 davon, die mir in den Sinn kommen.
was der Code macht ...
- Beim Einlesen einer CSV-Datei mit den Daten „Vorname“ und „Nachname“
wird der gesamte#region/#endregion
Block durch Ihre bevorzugte Datenquelle ersetzt. - iteriert durch die resultierende Sammlung
- erstellt die gewünschte Zeichenfolge mit 4 verschiedenen Methoden.
Ich bevorzuge den-f
Zeichenfolgenformatoperator, aber viele Leute bevorzugen die Zeichenfolgenverkettung. - sendet jeweils an das Display
- fügt eine Trennlinie zwischen den Ergebnisgruppen hinzu
der Code ...
#region >>> fake reading in a CSV file
# when ready to do this for real, use your prefered data source
# and delete or comment out the entire "#region/#endregion" block
$NameList = @'
FirstName, LastName
Alfa, Bravo
Charlie, Delta
Echo, Foxtrot
'@ -split [System.Environment]::NewLine |
ConvertFrom-Csv
#endregion >>> fake reading in a CSV file
foreach ($NL_Item in $NameList)
{
# string format operator
'{0}.{1}' -f $NL_Item.FirstName[0], $NL_Item.LastName
# -join operator
$NL_Item.FirstName[0], $NL_Item.LastName -join '.'
# string concatenation
$NL_Item.FirstName[0] + '.' + $NL_Item.LastName
# variable-in-string expansion
"$($NL_Item.FirstName[0]).$($NL_Item.LastName)"
# yes, you can multiply a string [*grin*]
'=' * 20
}
Ausgabe ...
A.Bravo
A.Bravo
A.Bravo
A.Bravo
====================
C.Delta
C.Delta
C.Delta
C.Delta
====================
E.Foxtrot
E.Foxtrot
E.Foxtrot
E.Foxtrot
====================
Antwort2
$firstname.substring(0,$i) +"."+ $lastname