PowerShell 및-포함 연산자
다음 스 니펫을 고려하십시오.
"12-18" -Contains "-"
로 평가 이것이 true된다고 생각 하지만 오는가 않습니다. false대신 평가 합니다. 왜 이런 일이 발생하는지 잘 모르겠지만 그렇게됩니다.
이를 위해 대신 사용할 수 있습니다.
"12-18".Contains("-")
이제식이 true로 평가됩니다.
첫 번째 코드 스 니펫이 왜 그렇게 동작합니까? -잘 어울리지 않는 특별한 점이 -Contains있습니까? 문서는 내용에 관한 내용을 언급하지 않습니다.
-Contains연산자는 비교를 하위보다 많이 사용하지 않고 경기는보다 많이 사용하며 컬렉션을 검색합니다.
연결 한 설명서에서 :
-설명 포함 : 격리 연산자. 참조 값 모음에 단일 테스트 값이 포함되어 있는지 여부를 알려줍니다.
이 예 포함에서는 컬렉션 항목이 하나만 설명했습니다.
링크 한 문서를 문서면이 동작을 예가 표시됩니다.
예 :
PS C:\> "abc", "def" -Contains "def"
True
PS C:\> "Windows", "PowerShell" -Contains "Shell"
False #Not an exact match
나는 당신이 원하는 것이 연산자 라고 생각합니다 .-Match
"12-18" -Match "-"
어느 것이 반환합니다 True.
중요 사항 : 주석 및 링크 된 문서 에서 지적했듯이 -Match연산자는 정규식 을 사용하여 텍스트 일치를 수행합니다.
-Contains실제로 수집 연산자입니다. 컬렉션에 개체가 포함되어 있으면 사실입니다. 언어에만 국한되지 않습니다.
-match및-imatch 키트에 사용되는 정규 표현식 및 세트 자동 변수입니다.
-like, -ilike정합 기 SQL- 같다.
당신은 사용할 수 있습니다 like:
"12-18" -like "*-*"
또는를 split위한 contains:
"12-18" -split "" -contains "-"
like가장 좋거나 가장 많은 것.match정규식 비교에 사용됩니다.
참고 URL : https://stackoverflow.com/questions/18877580/powershell-and-the-contains-operator
'IT' 카테고리의 다른 글
| URL 동작 매개 변수? (0) | 2020.08.02 |
|---|---|
| 쉘 프로그래밍에서 "내보내기"는 무엇입니까? (0) | 2020.08.02 |
| ObjectiveC에서 변수 위치의 선언 / 정의? (0) | 2020.08.02 |
| 패키지 서브 디렉토리의 Python Access 데이터 (0) | 2020.08.02 |
| Postgres의 테이블에 여러 열을 추가하는 방법은 무엇입니까? (0) | 2020.08.02 |