繁体   English   中英

如何在Perl中从字符串中删除转义码?

[英]How can I strip escape codes from a string in Perl?

原始字符串的传递方式为:

FileSystems\/\1K-blocks=5036316, FileSystems\/\Available=3295944, FileSystems\/\Filesystem=/dev/cciss/c0d0p2, FileSystems\/\Use%=32%

我需要的输出是:

/ 1K-blocks=5036316, / Available=3295944, / Filesystem=/dev/cciss/c0d0p2, / Use%=32%

但是尝试使用正则表达式删除“ \\”会让我头疼。 我一直以:

Fi eSys ems/☺K-b o ks=5036316  Fi eSys ems/Avai ab e=3295944  Fi eSys ems/Fi esy
s em=/dev/  iss/ 0d0p2  Fi eSys ems/SE%=32%  

Perl显然看到了一个控制或转义代码,并且确实搞砸了。

任何建议将不胜感激。

我将使用其他定界符(/除外)使正则表达式在眼睛上更容易一些:

s!FileSystems\\/\\!/ !g

这两行应该做到这一点:

s/FileSystems\\//g;
s/\\/ /g;

使用差异 定界符将减少混乱。

$line =~ s!FileSystem\\/\\!/\s!g

会做的伎俩

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM