PowerShell의 배열에서 항목 제거
PowerShell 배열은 크기가 고정되어 있으며 변경할 수 없습니다. 이는 배열에서 항목을 추가하거나 제거할 수 없음을 의미합니다.
가장 좋은 대안은 배열 대신 ArrayList
를 사용하는 것입니다. ArrayList
는 길이가 고정된 크기가 아니며 수정할 수 있습니다.
이 문서에서는 ArrayList
를 만들고 PowerShell에서 항목을 제거하는 방법을 설명합니다.
PowerShell에서 Remove()
메서드를 사용하여 ArrayList
에서 항목 제거
다음 예제는 Sunday
, Monday
및 Tuesday
항목이 있는 ArrayList
$days
를 생성합니다.
[System.Collections.ArrayList]$days = "Sunday", "Monday", "Tuesday"
Get-Type()
메서드를 사용하여 변수의 현재 데이터 유형을 볼 수 있습니다.
$days.GetType()
출력:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True ArrayList System.Object
출력은 ArrayList
를 성공적으로 생성했음을 보여줍니다. 아래 명령을 실행하여 고정 크기인지 여부를 확인할 수 있습니다.
$days.IsFixedSize
출력:
False
고정된 크기가 없음을 의미하는 False
를 반환했습니다.
이제 새 항목인 Wednesday
를 ArrayList
$days
에 추가해 보겠습니다. Add()
메서드는 ArrayList
끝에 새 항목을 추가합니다.
$days.Add("Wednesday")
새 항목이 추가된 인덱스 번호를 인쇄합니다.
3
다음을 실행하여 ArrayList
에 추가된 항목을 확인합니다.
$days
출력:
Sunday
Monday
Tuesday
Wednesday
보시다시피 Wednesday
가 ArrayList
$days
에 성공적으로 추가되었습니다.
ArrayList
에서 항목을 제거하려면 Remove()
메소드를 사용할 수 있습니다.
$days.Remove("Monday")
$days
출력:
Sunday
Tuesday
Wednesday
Remove()
메서드는 ArrayList
에서 지정된 항목의 첫 번째 항목을 제거합니다.
색인 번호를 사용하여 특정 항목을 제거할 수도 있습니다. RemoveAt()
메서드를 사용하면 ArrayList
에서 지정된 인덱스의 항목을 제거할 수 있습니다.
다음 예제는 ArrayList
$days
에서 색인 번호 2
에 있는 항목을 제거합니다.
$days.RemoveAt(2)
$days
출력:
Sunday
Tuesday
경우에 따라 특정 범위에서 제거할 여러 항목(예: 1-10, 5-9, 12-22 등)이 있을 수 있습니다. 이러한 경우 RemoveAt()
메서드를 사용하여 항목 범위를 제거할 수 있습니다. ArrayList
.
이 명령은 새 ArrayList
$months
를 생성합니다.
[System.Collections.ArrayList]$months = "Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Sep", "Oct", "Nov", "Dec"
다음 예제는 ArrayList
$months
에서 색인 번호 범위 6-11
에 있는 항목을 제거합니다.
$months.RemoveRange(6,5)
해당 항목이 ArrayList
에서 제거되었는지 확인하십시오.
$months
출력:
Jan
Feb
Mar
Apr
May
Jun
Dec
매개변수와 혼동하는 경우 다음 구문을 사용합니다.
RemoveRange(index, count)
인덱스
- 제거할 항목 범위의 시작 인덱스.개수
- 시작 범위에서 제거할 항목 수입니다.