Perl正则表达式用逗号和空格替换字符之间的逗号

时间:2014-03-04 07:01:08

标签: regex perl

我想替换以下字符串

camera,photo,image, data

camera, photo, image, data

Perl中的正则表达式是否可行?请注意,最后一个单词(数据)已经用逗号和空格分隔,因此不应在此处重复此转换。

3 个答案:

答案 0 :(得分:2)

,(?! )将其替换为空格', '

答案 1 :(得分:2)

怎么样:

my $str = 'camera,photo,image, data';
$str =~ s/,(?=\S)/, /g;
say $str;

<强>输出:

camera, photo, image, data

答案 2 :(得分:0)

(空格在这里的代码插入中表现得不是很好,所以这个答案使用_(下划线),需要空格。)

要将逗号后跟零个或多个空格转换为逗号后跟一个空格,请将,_*替换为,_(即将逗号空格星号替换为逗号空间)。

要将逗号后跟零或一个空格转换为逗号后跟一个空格,请将,_?替换为,_(即将逗号空格问号替换为< strong>逗号空间)。