Я делаю /(\.[^.]+)$/
в 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"