我希望能够在单个字符串(不是整个文件,只是程序中的一个字符串)中替换所有行返回(\ n),其中空格和所有逗号都在同一个字符串中以分号表示。
这是我的代码:
$str =~ s/"\n"/" "/g;
$str =~ s/","/";"/g;
答案 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,/ ;/;