如何从 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"

相关内容