List.txt에서 파일 확장자 뒤의 모든 항목을 제거하고 확장자를 유지해야 합니다.
링크에 있는 명령을 사용하려고 시도했지만 실패했습니다.
powershell을 사용하여 줄 끝에서 공백을 제거하는 방법
powershell-trim-remove-all-characters-after-a-string
목록:
05 - Earth Wind and Fire - September (The Reflex Revision).mp3 -9,6
06 - Electric Light Orchestra - Last Train To London (Bootleg Extended Dance Remix).flac -9,1
08 - Kool & The Gang - Get Down On It (Soul Funk House Remix).wav -10,7
내가 필요한 것:
05 - Earth Wind and Fire - September (The Reflex Revision).mp3
06 - Electric Light Orchestra - Last Train To London (Bootleg Extended Dance Remix).flac
08 - Kool & The Gang - Get Down On It (Soul Funk House Remix).wav
명령을 시도했지만 성공하지 못했습니다.
$content = Get-Content $files
$content | Foreach {$_.Substring(0, $_.IndexOf('.mp3', '.flac', '.wav' ))} | Set-Content $files
파일 확장자를 제거하고 확장자를 유지하는 방법은 무엇입니까?
답변1
샘플 데이터에 따르면 가장 쉬운 접근 방식은 각 문자열의 가장 일관된 부분, 파일 이름 뒤의 공백 및 숫자를 일치시키는 것인 것 같습니다.
<WhiteSpace><MinusSign><OneOrMoreDigits><Comma><OneOrMoreDigits>
사용하여정규식:
'\s+\-\d+,\d+$'
와 더불어-Replace
대체 문자열이 지정되지 않은 경우 일치하는 텍스트를 간단히 제거하는 연산자입니다.
{ $_ -replace '\s+\-\d+,\d+$' }
빼기 기호가 선택사항인 경우 One or none (?)
수량 기호 뒤에 기호를 붙입니다.
$_ -replace '\s+\-?\d+,\d+$'