문자열에서 PowerShell 하위 문자열 추출
-
Substring()
메서드를 사용하여 PowerShell 하위 문자열 추출 - 문자열 왼쪽에서 PowerShell 하위 문자열 추출
- 지정된 문자 전후의 PowerShell 하위 문자열 추출
- 두 문자 사이의 PowerShell 하위 문자열 추출
이 문서에서는 PowerShell의 문자열에서 하위 문자열을 추출하는 방법을 보여줍니다. 하위 문자열은 단순히 문자열의 일부입니다.
Substring()
및 split()
메서드를 사용하여 PowerShell에서 하위 문자열을 만들 수 있습니다. 예를 들어 Delftstack.com
문자열이 있는 경우 Delftstack
은 하위 문자열이고 com
은 또 다른 하위 문자열입니다.
이 기사에서는 Substring()
메서드에 대해 설명합니다.
Substring()
메서드를 사용하여 PowerShell 하위 문자열 추출
Substring()
메서드의 구문부터 살펴보겠습니다.
string.Substring(int startIndex, int length)
구문에서 int
는 startIndex
및 length
를 인덱스 번호로 표시합니다. startIndex
는 추출하려는 하위 문자열의 첫 번째 문자를 나타내고 length
는 문자열에서 추출하려는 문자 수를 나타냅니다.
IndexOf
메서드를 사용하여 하위 문자열의 startIndex
및 length
를 결정합니다.
하위 문자열 IndexOf
의 결과 값에 1
을 추가하여 startIndex
를 결정합니다. 예를 들어 보겠습니다.
ned.delftstack.com
이 문자열이라고 가정하면 문자열에서 첫 문자 n
인덱스 위치는 무엇입니까? 아래 명령을 실행하여 위치를 결정할 수 있습니다.
"ned.delftstack.com".IndexOf('n')
결과는 0
입니다. 이는 IndexOf
메서드가 문자열의 첫 번째 항목을 왼쪽에서 오른쪽으로 검색하고 항상 0부터 시작하기 때문입니다.
따라서 문자 n
에서 시작하는 하위 문자열을 추출하려는 경우 startIndex
는 0이 됩니다.
또한 LastIndexOf
를 사용하여 문자열이 마지막으로 나타나는 위치를 찾을 수 있습니다. 예를 들어 문자 d
의 마지막 항목은 다음과 같습니다.
"ned.delftstack.com".LastIndexOf('d')
이 기본 정보를 통해 PowerShell에서 문자열을 조작할 수 있습니다.
문자열 왼쪽에서 PowerShell 하위 문자열 추출
위의 정보를 적용해 보겠습니다.
ned.delftstack.com
에서 하위 문자열 ned
를 추출한다고 가정합니다. 어떻게 할까요?
ourstrng
라는 변수에 문자열을 저장하는 것으로 시작합니다.
$ourstrng = "ned.delftstack.com"
Substring()
메서드의 구문에서 명령은 다음과 같습니다.
$ourstrng.Substring(0,3)
startIndex
가 0
이고 length
가 3자이므로 ned
를 반환합니다. 문자열에서 delftstack
을 추출하는 것이 목표라면 어떻게 될까요?
첫 번째 단계는 하위 문자열에 대한 startIndex
를 결정하는 것입니다. 이 경우 구분 기호인 첫 번째 마침표를 사용합니다.
$ourstrng.IndexOf(".")
결과는 3
이 됩니다. 그러나 기억할 수 있다면 문자열의 첫 번째 문자에 대한 결과에 1
을 추가합니다. 따라서 startIndex
는 4
가 됩니다.
길이는 하위 문자열에 포함하려는 문자 수입니다. 1부터 계산합니다. 하위 문자열 delftstack
에는 10
문자가 있습니다.
$ourstrng.Substring(4,10)
그러면 delftstack
이 반환됩니다.
지정된 문자 전후의 PowerShell 하위 문자열 추출
문자열에서 ned
와 delftstack.com
을 모두 추출한다고 가정해 보겠습니다. 어떻게 할까요?
먼저 구분 기호인 첫 번째 .
의 위치를 결정해야 합니다. 아래 명령은 $sepchar
라는 변수에 구분 기호를 저장합니다.
$sepchar = $ourstrng.IndexOf(".")
하위 문자열을 추출하기 위해 아래 명령을 실행합니다.
$ourstrng.Substring(0,$sepchar)
이렇게 하면 ned
인 첫 번째 부분이 추출됩니다. 다른 하위 문자열의 경우 다음을 실행합니다.
$ourstrng.Substring($sepchar+1)
이렇게 하면 deftstack.com
이 반환됩니다.
두 문자 사이의 PowerShell 하위 문자열 추출
문자열이 ned.delftstack.com
인 경우 첫 번째 기간과 두 번째 기간 사이에 있는 하위 문자열은 delftstack
이 됩니다. 이러한 스크립트에는 세 가지 명령이 필요합니다.
첫 번째 명령은 첫 번째 기간 (.)
의 위치를 결정하고 firstsep
변수에 저장합니다.
$firstsep = $ourstrng.IndexOf(".")
두 번째 명령은 LastIndexOf
방법을 사용하여 기간의 두 번째 위치를 결정하고 lastrep
변수에 저장합니다.
$lastrep = $ourstrng.LastIndexOf(".")
마지막 명령은 문자열에서 delftstack
하위 문자열을 추출합니다.
$ourstrng.Substring($firstsep+1,$lastrep-4)
결론적으로 PowerShell 구분 기호 앞, 뒤 및 사이에서 문자열의 하위 문자열을 추출할 수 있습니다. Substring()
메서드는 위에서 본 것처럼 편리합니다.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn