用空格和逗号用分号替换返回?

时间:2013-08-17 03:47:59

标签: perl

我希望能够在单个字符串(不是整个文件,只是程序中的一个字符串)中替换所有行返回(\ n),其中空格和所有逗号都在同一个字符串中以分号表示。

这是我的代码:

    $str =~ s/"\n"/" "/g;
    $str =~ s/","/";"/g;

3 个答案:

答案 0 :(得分:9)

这样做。你不需要在它们周围使用引用。

$str =~ s/\n/ /g;
$str =~ s/,/;/g;

替换运算符(s///

的修饰符选项说明
e       Forces Perl to evaluate the replacement pattern as an expression. 
g       Replaces all occurrences of the pattern in the string. 
i       Ignores the case of characters in the string. 
m       Treats the string as multiple lines. 
o       Compiles the pattern only once. 
s       Treats the string as a single line. 
x       Lets you use extended regular expressions. 

答案 1 :(得分:2)

您不需要在搜索和替换中引用,只是为了代表第一个示例中的空格(或者您也可以/ /)。

$str =~ s/\n/" "/g;
$str =~ s/,/;/g;

答案 2 :(得分:2)

我使用tr

$str =~ tr/\n,/ ;/;