如何删除Perl中文件名之间的额外空格
前导和尾随空格可以通过regex $ line = ~s / ^ \ s + | \ s + $ // x;
删除这就是我的代码:
use File::Find;
find (\&wanted, '.');
sub wanted {
my $file = $File::Find::name;
$file =~ s/\$//g;
print "**file = $file\n";
}
$file
可以是:
My File.jpg
myfile$
$myfile
my$file
要从我的文件名中删除$
我正在使用$file =~ s/\$//g;
这也适用于空格吗?
答案 0 :(得分:1)
$file =~ s/\s+/ /g;
将删除连续的空白字符并将其替换为单个空格。
答案 1 :(得分:-1)
对于字符串中间的多个空间块,您可以做的是通过正则表达式将字符串拆分为空间块,然后使用perl中的split(/\s+/, $data)
和join(" ", @LIST)
函数加入完整的sting。
正如@TLP所指出的,这里是使用正则表达式的更新代码:
$str =~ s/\s+/ /g;