我想这是一个相当长的正则表达式,但是有没有办法从字符串中取出下划线,空格,逗号和连字符,然后在perl中将这些单词连接在一起?
示例:
_Car - Eat, Tree
变为:
CarEatTree
答案 0 :(得分:5)
您可以使用简单的替换:
$string =~ s/[_ ,-]//g;
答案 1 :(得分:4)
这也可以在没有正则表达式的情况下完成:Transliterate: tr///
use warnings;
use strict;
my $s = '_Car - Eat, Tree';
$s =~ tr/_ ,\-//d;
print "$s\n";
__END__
CarEatTree
答案 2 :(得分:2)
如果您要删除任何标点符号,可以随时使用s/[[:punct:]]//g
答案 3 :(得分:1)
my $str = '_Car - Eat, Tree';
$str =~ s/[\_\-\,\s]*//g;
答案 4 :(得分:1)
搜索[_, -]
并替换为空字符串""
$str = "_Car - Eat, Tree";
$str =~ s/[_, -]//g;
答案 5 :(得分:1)
使用翻译运算符(删除(补充;
#!/usr/bin/perl
use strict;
use warnings;
use 5.012;
my $str = '_Car - Eat, Tree';
$str =~ tr/a-zA-Z//cd;
print $str;
__END__
C:\Old_Data\perlp>perl t6.pl
CarEatTree