programing

입력 값이 배열에 있는지 확인하는 방법(Powershell)

topblog 2023. 7. 27. 21:31
반응형

입력 값이 배열에 있는지 확인하는 방법(Powershell)

$InputArray = @(a,e,i,o,u,1,2,3,4,5)
$UserInput = "Enter any value:"

그것을 어떻게 확인할 수 있습니까?$UserInput안에 있습니다.$InputArray그렇지 않으면 올바른 입력을 요구합니까?

사용-contains연산자:

$InputArray -contains $UserInput

최신 PowerShell 버전(v3 이상)을 사용하면-in연산자는 많은 사람들에게 더 자연스럽게 느껴집니다.

$UserInput -in $InputArray

단, 둘 중 하나가 참조 배열에서 선형 검색을 수행한다는 점에 주의하십시오).$InputArray) 어레이가 작고 비교를 많이 하지 않는 경우에는 문제가 없지만, 해시 테이블 조회를 사용하는 것이 성능에 문제가 있다면 다음과 같은 방법을 사용하는 것이 좋습니다.

$validInputs = @{
    'a' = $true
    'e' = $true
    'i' = $true
    'o' = $true
    'u' = $true
    '1' = $true
    '2' = $true
    '3' = $true
    '4' = $true
    '5' = $true
}

$validInputs.ContainsKey($UserInput)

당신이 배우고 있는 것은 이해하지만 여기 오기 전에 구글푸와 설명서를 사용해야 합니다.

$inputArray -contains $userinput

흥미로운 해킹입니다. 파워셸에서 항상 사용합니다.echo명령은 따옴표로 묶이지 않은 인수를 문자열 배열로 변환합니다.

(echo a b c) -contains 'a'
# outputs True / returns $true

이것은 타이핑하는 것보다 훨씬 쉽습니다.@('a','b','c')제 손가락은 두 번째나 세 번째 글자 뒤에 '를 입력하는 속도가 빨라진 적이 없습니다.

언급URL : https://stackoverflow.com/questions/16965537/how-can-you-check-whether-input-value-is-in-array-or-not-powershell

반응형