"."를 제거하는 방법 Perl의 파일 이름에서?

"."를 제거하는 방법 Perl의 파일 이름에서?

나는 /(\.[^.]+)$/Perl에서 파일 확장자를 읽습니다(예 Text.txt: . .출력이 되도록 어떻게 제거할 수 있습니까 Texttxt?

답변1

일치 그룹 /(…)/에는 모든 항목이 포함됩니다.내부에괄호. 점이 포함되는 것을 원하지 않으면 점을 넣으십시오.밖의 괄호: /\.([^.]+)$/.

#!/usr/bin/env perl

use strict;
use warnings;

my $filename = 'Test.txt';
$filename =~ s/(.*)\.([^.]+)$/$1$2/;
#               ^^    ^^^^^
#               $1     $2
print "filename: '$filename'\n";

# prints "Testtxt"

관련 정보