문자열에서 PowerShell 하위 문자열 추출

John Wachira 2023년6월21일
  1. Substring() 메서드를 사용하여 PowerShell 하위 문자열 추출
  2. 문자열 왼쪽에서 PowerShell 하위 문자열 추출
  3. 지정된 문자 전후의 PowerShell 하위 문자열 추출
  4. 두 문자 사이의 PowerShell 하위 문자열 추출
문자열에서 PowerShell 하위 문자열 추출

이 문서에서는 PowerShell의 문자열에서 하위 문자열을 추출하는 방법을 보여줍니다. 하위 문자열은 단순히 문자열의 일부입니다.

Substring()split() 메서드를 사용하여 PowerShell에서 하위 문자열을 만들 수 있습니다. 예를 들어 Delftstack.com 문자열이 있는 경우 Delftstack은 하위 문자열이고 com은 또 다른 하위 문자열입니다.

이 기사에서는 Substring() 메서드에 대해 설명합니다.

Substring() 메서드를 사용하여 PowerShell 하위 문자열 추출

Substring() 메서드의 구문부터 살펴보겠습니다.

string.Substring(int startIndex, int length)

구문에서 intstartIndexlength를 인덱스 번호로 표시합니다. startIndex는 추출하려는 하위 문자열의 첫 번째 문자를 나타내고 length는 문자열에서 추출하려는 문자 수를 나타냅니다.

IndexOf 메서드를 사용하여 하위 문자열의 startIndexlength를 결정합니다.

하위 문자열 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)

startIndex0이고 length가 3자이므로 ned를 반환합니다. 문자열에서 delftstack을 추출하는 것이 목표라면 어떻게 될까요?

첫 번째 단계는 하위 문자열에 대한 startIndex를 결정하는 것입니다. 이 경우 구분 기호인 첫 번째 마침표를 사용합니다.

$ourstrng.IndexOf(".")

결과는 3이 됩니다. 그러나 기억할 수 있다면 문자열의 첫 번째 문자에 대한 결과에 1을 추가합니다. 따라서 startIndex4가 됩니다.

길이는 하위 문자열에 포함하려는 문자 수입니다. 1부터 계산합니다. 하위 문자열 delftstack에는 10 문자가 있습니다.

$ourstrng.Substring(4,10)

그러면 delftstack이 반환됩니다.

지정된 문자 전후의 PowerShell 하위 문자열 추출

문자열에서 neddelftstack.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 Wachira
John Wachira avatar John Wachira avatar

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

관련 문장 - PowerShell String