正则表达式 – 从Perl中的字符串中删除CRLF(0D 0A)
发布时间:2020-12-14 06:22:28 所属栏目:百科 来源:网络整理
导读:我有一个Perl脚本在 Linux上使用XML文件,偶尔在某些节点值中有CRLF(Hex 0D0A,Dos新行). 生成XML文件的系统将它们全部写为一行,看起来好像它偶尔会判断它太长并将CRLF写入其中一个数据元素.不幸的是,我无法对提供系统做些什么. 我只需要在处理它之前从字符串
我有一个Perl脚本在
Linux上使用XML文件,偶尔在某些节点值中有CRLF(Hex 0D0A,Dos新行).
生成XML文件的系统将它们全部写为一行,看起来好像它偶尔会判断它太长并将CRLF写入其中一个数据元素.不幸的是,我无法对提供系统做些什么. 我只需要在处理它之前从字符串中删除它们. 我已经尝试使用perl char类,十六进制值,各种类型的各种正则表达式替换,似乎没有任何工作. 我甚至在处理之前通过dos2unix运行输入文件,我仍然无法摆脱错误的字符. 有没有人有任何想法? 非常感谢,
典型的,经过大约2个小时的战斗,我在提出问题的5分钟内解决了它.
$output =~ s/[x0Ax0D]//g; 终于明白了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |