내 사용자 이름이 첫 번째 점 성으로 되도록 기존 스크립트를 변경하려고 합니다. 예: John Doe의 사용자 이름은 j.doe입니다. 현재 스크립트는 다음과 같이 작동합니다(. 제외): $firstname.substring(0,$i) + $성
감사합니다.
답변1
해당 문자열을 만드는 방법에는 여러 가지가 있습니다. [이를 드러내고 웃다] 그 중 제게 떠오르는 4가지가 있습니다.
코드가 무엇을 하는지...
- FirstName, LastName 데이터가 포함된 CSV 파일에서 가짜 읽기를 수행하면
전체#region/#endregion
블록이 원하는 데이터 소스로 대체됩니다. - 결과 컬렉션을 반복합니다.
- 4가지 다른 방법으로 원하는 문자열을 생성합니다.
제가 선호하는-f
문자열 형식 연산자이지만 많은 사람들이 문자열 연결을 선호합니다. - 각각을 디스플레이로 보냅니다
- 결과 그룹 사이에 구분선을 추가합니다.
코드 ...
#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
}
출력 ...
A.Bravo
A.Bravo
A.Bravo
A.Bravo
====================
C.Delta
C.Delta
C.Delta
C.Delta
====================
E.Foxtrot
E.Foxtrot
E.Foxtrot
E.Foxtrot
====================
답변2
$firstname.substring(0,$i) +"."+ $lastname