txt 파일에서 파일 확장자 뒤의 공백 제거

txt 파일에서 파일 확장자 뒤의 공백 제거

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+$'

관련 정보