如何拉出每个逗号,连字符,下划线,空格,并加入没有空格的剩余单词?

时间:2011-05-05 19:30:05

标签: regex perl

我想这是一个相当长的正则表达式,但是有没有办法从字符串中取出下划线,空格,逗号和连字符,然后在perl中将这些单词连接在一起?

示例:

_Car - Eat, Tree

变为:

CarEatTree

6 个答案:

答案 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