PowerShell에서 문자열이 비어 있는지 확인하는 방법
- PowerShell에서 문자열이 “Not NULL"이거나 “비어 있음"인지 확인하는 방법
- PowerShell에서 문자열이 null 또는 비어 있는지 확인하는 IsNullOrEmpty 대체 방법
- PowerShell에서 문자열이 null이거나 비어 있는지 확인하기 위해 “eq” 연산자 사용
- PowerShell에서 문자열이 null이거나 비어 있는지 확인하기 위해 RegEx 사용
이 글에서는 Powershell에서 주어진 문자열이 “null"이거나 비어 있는지 확인하는 데 사용할 수있는 방법에 대해 설명하겠습니다.
PowerShell에서 문자열이 “Not NULL"이거나 “비어 있음"인지 확인하는 방법
IsNullOrEmpty
는 일반적인 스크립팅 / 프로그래밍 언어로, 주어진 문자열이 “비어 있음"인지 또는 “null"인지 확인하는 문자열 메서드입니다. “null"은 할당되지 않은 문자열 값이고 “비어 있음"은 ""
또는 지정된 String.Empty
와 같은 문자열입니다.
PowerShell에서 문자열이 null 또는 비어 있는지 확인하는 IsNullOrEmpty 대체 방법
PowerShell에서 “IsNullOrEmpty"와 동등한 기능을 수행하는 간단한 방법이 있습니다. 다음 코드 세그먼트를 사용할 수 있습니다.
명령에서 주어진 문자열은 “null"입니다. 따라서 코드의 출력은 다음과 같습니다.
샘플 코드 1:
PS C:\Users\Test> $str1 = $null
PS C:\Users\Test> if ($str1) { 'not empty' } else { 'empty' }
출력:
empty
문자열이 “비어 있음"인 경우 출력은 여전히 “비어 있음"입니다.
샘플 코드 2:
PS C:\Users\Test> $str2 = ''
PS C:\Users\Test> if ($str2) { 'not empty' } else { 'empty' }
출력:
empty
문자열이 “비어 있지 않고” “null"이 아닌 경우 출력은 “비어 있지 않음"입니다.
샘플 코드 3:
PS C:\Users\Test> $str3 = ' '
PS C:\Users\Test> if ($str3) { 'not empty' } else { 'empty' }
출력:
not empty
두 개 이상의 문자열을 비교하고 “비어 있는지” 확인하는 명령이 있습니다.
PS C:\Users\Agni> if ($str1 -and $str2) { 'neither empty' } else { 'one or both empty'}
출력:
one or both empty
또한 neither empty
는 위에서 두 개의 선언된 문자열을 비교하는 데 사용된 가능한 비교 방법 중 하나입니다. 이는 IsNullOrEmpty
를 사용하는 가장 명확하고 간결한 방법으로 식별될 수 있습니다.
위의 메서드 외에도 IsNullOrEmpty
정적 메서드를 PowerShell에서 사용할 수 있습니다.
PowerShell에서 문자열이 null이거나 비어 있는지 확인하기 위해 “eq” 연산자 사용
“eq” 연산자는 두 값의 동등성을 비교합니다. 문자열을 빈 문자열과 비교하여 비어 있는지 확인할 수 있습니다.
코드:
$str1 = ""
if ($str1 -eq "") {
Write-Host "String is empty"
} else {
Write-Host "String is not empty"
}
출력:
String is empty
PowerShell에서 문자열이 null이거나 비어 있는지 확인하기 위해 RegEx 사용
정규식을 사용하여 문자열의 패턴을 일치시킬 수 있습니다. 빈 문자열이나 공백만 있는 문자열과 일치하는 정규식 패턴을 사용할 수 있습니다.
코드:
$str4 = " "
if ($str4 -match "^\s*$") {
Write-Host "String is empty"
} else {
Write-Host "String is not empty"
}
출력:
String is empty
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.