-replace와 함께 정규식 사용 :
$text = "Monkey/Zebra/Bird/Bird"
$text -replace '/[^/]+$'
Monkey/Zebra/Bird
-------------------아마도 정규식도 사용할 수 있지만 분할을 사용하려면 다음을 수행하십시오.
("Monkey/Zebra/Bird/Bird" -split '/')[0..((("Monkey/Zebra/Bird/Bird" -split '/').count)-2)] -join '\'
나는 Perl을 좋아한다 ... errr Powershell
-------------------다음과 같은 각 명령에 대해 사용할 수 있습니다.
$path = "Monkey/Zebra/Bird/Bird"
foreach($animal in $path.split("/"))
{
Write-Host $animal
}
그런 다음 경로를 분할하고 각 동물을 차례로 처리합니다.
-------------------나는 RegEx가 아마도 당신의 가장 빠른 대답이라는 사실로 이것을 시작합니다. 그건 ...
예를 들어 "Monkey / Zebra / Bird / Bird"에서 중복 된 "bird"를 파싱했기 때문에 split을 사용하여 각 동물 중 하나만 가져 오는 또 다른 방법입니다.
$Animals = "Monkey/Zebra/Bird/Bird"
($Animals.Split('/')|Select -Unique) -join '/'
또는 마지막 부분 만 삭제하고 싶다면 EBGreen이 제안한 것을 수행하고, 개별 동물로 분할하고, 개수를 세고, 마지막 부분을 제외하고 모두 반환 한 다음 다시 결합 할 수 있습니다.
($Animals.Split('/'))[0..($Animals.Split('/').count-2)] -join '/'
둘 중 하나가 반환 Monkey/Zebra/Bird
되지만 후자의 옵션이 마음에 들면 EBGreen에 대한 답변을 지정하십시오.
$path = "Monkey/Zebra/Bird/Bird"
$path -replace '/\w+$'
Monkey/Zebra/Bird
출처
https://stackoverflow.com/questions/22019893