Convert-String
예제와 일치하도록 문자열의 서식을 지정합니다.
구문
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
Description
cmdlet은 예제 형식과 일치하도록 문자열의 형식을 지정합니다.
예제
예제 1: 문자열 형식 변환
"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."
Han, M.
Hance, J.
Ahs, D.
Akers, K.
첫 번째 명령은 이름과 성을 포함하는 배열을 만듭니다.
두 번째 명령은 예제에 따라 이름의 형식을 지정합니다. 출력에서 성을 먼저 입력한 다음, 이니셜을 넣습니다.
예제 2: 문자열 형식 간소화
$composers = @("Johann Sebastian Bach", "Wolfgang Amadeus Mozart", "Frederic Francois Chopin", "Johannes Brahms")
$composers | Convert-String -Example "first middle last=last, first"
Bach, Johann
Mozart, Wolfgang
Chopin, Frederic
Brahms, Johannes
첫 번째 명령은 첫 번째, 중간 및 성을 포함하는 배열을 만듭니다. 마지막 항목에는 중간 이름이 없습니다.
두 번째 명령은 예제에 따라 이름의 형식을 지정합니다. 성을 출력에 먼저 배치하고 그 뒤에 이름을 넣습니다. 모든 중간 이름이 제거되었습니다. 중간 이름이 없는 항목이 올바르게 처리됩니다.
예제 3: 문자열이 예제와 일치하지 않는 경우 출력 관리
$composers = @("Johann Sebastian Bach", "Wolfgang Amadeus Mozart", "Frederic Francois Chopin", "Johannes Brahms")
$composers | Convert-String -Example "first middle last=middle, first"
Sebastian, Johann
Amadeus, Wolfgang
Francois, Frederic
첫 번째 명령은 첫 번째, 중간 및 성을 포함하는 배열을 만듭니다. 마지막 항목에는 중간 이름이 없습니다.
두 번째 명령은 예제에 따라 이름의 형식을 지정합니다. 출력에서 가운데 이름을 먼저 입력하고 그 뒤에 이름을 추가합니다. 마지막 항목 $Composers
은 샘플 패턴과 일치하지 않으므로 건너뜁습니다. 중간 이름이 없습니다.
예제 4: 미용 공간 주의
$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."
Wagner, R.
Brahms, J.
첫 번째 명령은 이름과 성의 배열을 만듭니다. 두 번째 및 네 번째 항목에는 성 뒤에 추가 후행 공백이 있습니다.
두 번째 명령은 샘플 패턴 과 일치하는 모든 문자열(단어, 공백, 단어 및 마지막 후행 공백)을 모두 등호(=
)로 변환합니다. 또한 출력의 선행 공간을 확인합니다.
예제 5: 여러 패턴을 사용하여 프로세스 정보 서식 지정
$ExamplePatterns = @(
@{before='"Hello","World"'; after='World: Hello'},
@{before='"Hello","1"'; after='1: Hello'},
@{before='"Hello-World","22"'; after='22: Hello-World'},
@{before='"hello world","333"'; after='333: hello world'}
)
$Processes = Get-Process | Select-Object -Property ProcessName, Id | ConvertTo-Csv -NoTypeInformation
$Processes | Convert-String -Example $ExamplePatterns
Id: ProcessName
4368: AGSService
8896: Amazon Music Helper
4420: AppleMobileDeviceService
...
11140: git-bash
0: Idle
...
56: Secure System
...
13028: WmiPrvSE
2724: WUDFHost
2980: WUDFHost
3348: WUDFHost
$ExamplePatterns 예제를 통해 데이터의 다양한 예상 패턴을 정의합니다.
첫 번째 패턴은 @{before='"Hello","World"'; after='World: Hello'}
다음과 같이 읽습니다.
- 단어가 큰따옴표로 묶인 다음 쉼표로 묶인 문자열을 예상합니다.
- 두 번째 단어와 마지막 단어는 따옴표로 묶입니다.
- 문자열에 공백이 없습니다. 출력에서: 두 번째 단어를 먼저 배치합니다.
- 따옴표가 없으면 작은따옴표가 없는 단일 공백과 첫 번째 단어가 있습니다.
두 번째 패턴은 @{before='"Hello","1"'; after='1: Hello'}
다음과 같이 읽습니다.
- 단어가 큰따옴표로 묶인 다음 쉼표로 묶인 문자열을 예상합니다.
- 그리고 따옴표로 묶인 숫자;
- 문자열에 공백이 없습니다. 출력에서: 숫자를 먼저 배치합니다.
- 따옴표가 없으면 작은따옴표가 없는 한 개의 공백이 있습니다.
세 번째 패턴은 @{before='"Hello-World","22"'; after='22: Hello-World'}
다음과 같이 읽습니다.
- 사이에 하이픈이 있는 두 단어가 묶인 문자열을 예상합니다.
- 큰따옴표, 쉼표, 따옴표로 묶인 숫자,
- 쉼표와 세 번째 큰따옴표 사이에 공백이 없습니다.
- 출력에서: 숫자를 먼저 따옴표 없이 배치한 다음, 단일 공백을 배치합니다.
- 그런 다음, 따옴표 없이 하이픈이 있는 단어를 입력합니다.
네 번째 및 마지막 패턴 @{before='"hello world","333"'; after='333: hello world'}
은 다음과 같이 읽습니다.
- 사이에 공백이 있는 두 단어가 묶인 문자열을 예상합니다.
- 큰따옴표, 쉼표, 따옴표로 묶인 숫자,
- 쉼표와 세 번째 큰따옴표 사이에 공백이 없습니다.
- 출력에서: 숫자를 먼저 따옴표 없이 배치한 다음, 단일 공백을 배치합니다.
- 그런 다음 그 사이에 공백이 있는 단어를 따옴표 없이 표시합니다.
첫 번째 명령은 Get-Process cmdlet을 사용하여 모든 프로세스를 가져옵니다. 이 명령은 프로세스 이름 및 프로세스 ID를 선택하는 Select-Object cmdlet에 전달합니다. 파이프라인의 끝에서 명령은 ConvertTo-Csv cmdlet을 사용하여 형식 정보 없이 출력을 쉼표로 구분된 값으로 변환합니다. 이 명령은 결과를 $Processes 변수에 저장합니다. 이제 $Processes 프로세스 이름 및 PID가 포함됩니다.
두 번째 명령은 입력 항목의 순서를 변경하는 예제 변수를 지정합니다. 이 명령은 .의 각 문자열을 덮습니다 $Processes
.
참고 항목
네 번째 패턴은 공백으로 구분된 두 개 이상의 단어가 일치한다는 것을 암시적으로 말합니다. 네 번째 패턴이 없으면 큰따옴표로 묶인 문자열의 첫 번째 단어만 일치합니다.
매개 변수
-Example
대상 형식의 예제 목록을 지정합니다. 다음 예제와 같이 왼쪽의 원본 패턴과 오른쪽의 대상 패턴을 사용하여 등호(=
)로 구분된 쌍을 지정합니다.
-Example "Hello World=World, Hello"
-Example "Hello World=World: Hello",'"Hello","1"=1: Hello'
참고 항목
두 번째 예제에서는 패턴 목록을 사용합니다.
또는 이전 및 이후 속성이 포함된 해시 테이블 목록을 지정합니다.
-Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}
주의
패턴의 일부로 처리되므로 등호(=
) 주위에 공백을 사용하지 마세요.
형식: | List<T>[PSObject] |
별칭: | E |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InputObject
서식을 지정할 문자열을 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
입력
String
이 cmdlet에 문자열을 파이프할 수 있습니다.
출력
String
이 cmdlet은 문자열을 반환합니다.
관련 링크
PowerShell