문자열의 시작을 확인하는 방법: PowerShell 사용
-
PowerShell에서 문자열의 시작 부분을 확인하기 위해
-like
논리 연산자 사용하기 -
PowerShell에서 문자열의 시작 부분을 확인하기 위해
-clike
논리 연산자 사용하기 -
PowerShell에서 문자열의 시작 부분을 확인하기 위해
StartsWith()
함수 사용하기 - PowerShell에서 문자열의 시작 부분을 확인하기 위한 부분 문자열 비교
- 결론

문자열 변수가 특정 문자 또는 문자열로 시작하는지를 확인해야 하는 사용 사례를 만나는 경우가 있을 수 있습니다. 문자열이 특정 문자나 문자열로 시작하는지 확인하는 것은 스크립트를 작성할 때 일반적인 관행이며 Windows PowerShell에서 작성할 때 합리적으로 쉽습니다.
이 기사에서는 Windows PowerShell에서 다양한 방법을 사용하여 문자열 변수의 시작 부분을 확인하는 방법을 보여줍니다.
PowerShell에서 문자열의 시작 부분을 확인하기 위해 -like
논리 연산자 사용하기
PowerShell에서 -Like
논리 연산자는 패턴 매칭을 위한 강력한 도구입니다. 문자열의 시작 부분을 확인하는 데 사용될 때, 와일드카드를 기반으로 한 유연한 비교를 가능하게 합니다.
기본적으로 -Like
연산자는 대소문자를 구분하지 않습니다. 그러나 논리 연산자를 사용할 경우 충분히 별표 와일드카드(*
)와 함께 사용해야 합니다.
코드:
$strVal = 'Hello World'
if ($strVal -like 'hello*') {
Write-Host "Your string starts with hello."
}
else {
Write-Host "Your string does not start with hello."
}
출력:
Your string starts with hello.
코드에서 우리는 문자열 변수 $strVal = 'Hello World'
를 초기화합니다. 그런 다음 -like
연산자를 사용하여 문자열($strVal
)이 접두사 'hello'
로 시작하는지를 확인합니다.
-like
연산자는 와일드카드를 사용하여 패턴 매칭을 허용하며, 이 경우 별표(*
)는 0개 이상의 문자를 나타냅니다. 조건문은 문자열이 패턴 'hello*'
에 일치하는지를 평가합니다.
이 경우 조건은 참이며 출력은 Your string starts with hello
입니다.
PowerShell에서 문자열의 시작 부분을 확인하기 위해 -clike
논리 연산자 사용하기
PowerShell의 -clike
연산자는 대소문자를 구분하는 문자열 비교를 수행하는 데 사용됩니다. 특정 패턴과 문자열이 일치하는지를 체크하며, -like
연산자와 유사하지만 대소문자를 구분합니다.
이는 -clike
연산자가 문자열의 문자 대소문자가 패턴의 문자 대소문자와 정확히 일치할 때만 True
를 반환한다는 것을 의미합니다. 대소문자를 구분하는 비교를 수행하기 위해 -cLike
연산자를 사용할 수 있습니다.
코드:
$strVal = 'Hello World!'
if ($strVal -clike 'h*') {
Write-Host "Your string starts with lowercase h."
}
else {
Write-Host "Your string starts with uppercase H."
}
출력:
Your string starts with uppercase H.
이 코드에서 우리는 문자열 변수 $strVal
을 값 'Hello World!'
로 초기화합니다. 대소문자를 구분하는 문자열 비교를 위해 사용되는 -clike
연산자를 사용하여 문자열이 소문자 'h'
로 시작하는지 확인합니다.
조건문은 문자열이 대소문자를 구분하여 패턴 'h*'
과 일치하는지를 평가합니다. 조건이 거짓이므로 문자열이 대문자 'H'
로 시작하므로 출력은 Your string starts with uppercase H
입니다.
기억하세요, -clike
연산자는 대소문자를 구분하므로 문자 대소문자가 정확히 일치하지 않으면 문자열이 일치하지 않습니다. 대소문자를 구분하지 않는 비교를 수행하려면 대신 -like
연산자를 사용할 수 있습니다.
PowerShell에서 문자열의 시작 부분을 확인하기 위해 StartsWith()
함수 사용하기
우리는 또한 .NET 프레임워크의 문자열 확장 함수인 StartsWith()
를 사용하여 문자열이 특정 문자로 시작하는지를 확인할 수 있습니다.
PowerShell의 StartsWith()
함수는 문자열이 지정된 접두사로 시작하는지를 확인하는 방법입니다. StartsWith()
함수는 PowerShell에서 문자열에 내장된 메서드로, 주어진 문자열이 지정된 부분 문자열로 시작하는지를 나타내는 부울 값을 반환합니다.
코드:
$strVal = 'Hello World!'
if ($strVal.StartsWith('Hello')) {
Write-Host 'Your string starts with hello.'
}
else {
Write-Host 'Your string does not start with hello.'
}
출력:
Your string starts with hello.
위 코드에서 우리는 문자열 변수 $strVal
이 'Hello'
로 시작하는지를 StartsWith()
메서드를 사용하여 확인합니다. 조건이 참이므로 출력은 Your string starts with hello
입니다.
StartsWith
함수는 대소문자를 구분하는 문자를 확인하는 데 사용할 수 있는 다른 인수도 허용합니다. 이 인수는 CurrentCultureIgnoreCase
입니다.
우리가 대소문자를 구분하는 비교를 수행하고자 한다면 다음 방법을 사용할 것입니다.
코드:
$strVal = 'Hello world'
if ($strVal.StartsWith('hello', 'CurrentCultureIgnoreCase')) {
Write-Host 'True'
}
else {
Write-Host 'False'
}
출력:
True
이 코드에서 우리는 문자열 변수 $strVal
이 'hello'
로 시작하는지를 대소문자를 구분하지 않는 방식으로 StartsWith()
메서드를 사용하며 'CurrentCultureIgnoreCase'
매개변수를 사용합니다. 조건이 참이므로 출력은 True
입니다.
PowerShell에서 문자열의 시작 부분을 확인하기 위한 부분 문자열 비교
이 접근 방법에서는 Substring()
함수를 사용하여 특정 접두사를 주어진 문자열의 처음 부분과 비교합니다. 이 비교는 문자열이 미리 정의된 문자 시퀀스으로 시작하는지를 판단하는 데 도움이 됩니다.
PowerShell에서 Substring 메서드는 지정된 시작 인덱스와 길이를 기반으로 문자열에서 일부를 추출할 수 있습니다. 이 방법을 사용하여 원래 문자열에서 부분 문자열을 얻고 이를 원하는 접두사와 비교하여 문자열이 해당 특정 시퀀스로 시작하는지를 확인할 수 있습니다.
기본 구문:
$substringToCompare = $strVal.Substring(0, $prefix.Length)
매개변수:
$strVal
- 원래 문자열을 포함하는 변수로, 부분 문자열을 추출하고자 합니다.0
-0
은 시작 인덱스입니다.$prefix.Length
- 추출할 부분 문자열의 길이입니다. 예제에서는 확인하고자 하는 접두사의 길이입니다.$substringToCompare
- Substring 작업의 결과를 저장하는 변수입니다. 원래 문자열에서 추출된 부분 문자열을 포함합니다.
위 구문은 기본적으로 지정된 접두사의 길이와 동일한 길이로 시작하는 원래 문자열의 부분 문자열을 생성합니다.
코드:
$strVal = 'Hello World!'
$prefix = 'Hello'
if ($strVal.Substring(0, $prefix.Length) -eq $prefix) {
Write-Output "String starts with $prefix"
}
else {
Write-Output "String does not start with $prefix"
}
출력:
String starts with Hello
이 코드에서는 문자열 변수 $strVal = 'Hello World!'
와 접두사 $prefix = 'Hello'
가 있습니다. 우리는 Substring()
메서드를 사용하여 인덱스 0
에서 시작하는 원래 문자열의 일부를 추출하며, 길이는 접두사의 길이와 동일합니다.
스크립트는 그런 다음 이 추출된 부분 문자열과 지정된 접두사를 -eq
연산자를 사용하여 비교합니다. 조건이 참이므로 문자열이 'Hello'
로 시작함을 나타내며 출력은 String starts with Hello
입니다.
결론
결론적으로 이 기사에서는 Windows PowerShell에서 문자열 변수의 시작 부분을 확인하는 다양한 방법을 보여주었습니다. 우리는 패턴 매칭을 위한 -like
논리 연산자의 사용을 탐구하였으며, 와일드카드를 활용한 유연성을 강조했습니다.
또한 대소문자를 구분하는 비교를 위한 -clike
논리 연산자에 대해서도 살펴보았습니다. 더 나아가, 문자열이 지정된 접두사로 시작하는지를 확인하기 위해 대소문자를 구분하는 확인 및 대소문자를 구분하지 않는 확인을 활용한 StartsWith()
함수도 다뤘습니다.
마지막으로, 미리 정의된 시퀀스와 부분 문자열을 비교하는 대안적 접근 방법으로 Substring()
함수를 검토하였으며, 평가에 기반한 결과를 출력하는 방법을 설명했습니다. 이러한 방법들은 다양한 사용 사례에 대한 유연성을 제공하며, PowerShell 스크립트에서 문자열 비교 기능을 향상시킵니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn