首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CRLF、NEL行终止符处理行?

如何使用CRLF、NEL行终止符处理行?
EN

Stack Overflow用户
提问于 2009-12-29 13:04:51
回答 2查看 3.7K关注 0票数 1

我需要处理一个使用shift_jis编码的文件。但是,行终止符的格式我并不熟悉。

代码语言:javascript
复制
> file record.CSV 
record.CSV: Non-ISO extended-ASCII text, with CRLF, NEL line terminators

我使用的是通用的:

代码语言:javascript
复制
open my $CSV_FILE, "<:encoding(shift_jis)", $filename or die "Could not open: $CSV_FILE : $!";
while (<$CSV_FILE>) {
    chomp;
    # do stuff
}

但是,它仍然在每条记录的末尾留下一个CR。

终止这些类型的文件的正确方式是什么?

EN

回答 2

Stack Overflow用户

发布于 2009-12-29 15:07:01

为什么不手动执行$_ =~ s/\r//

编辑:显然,你也可以这样做

代码语言:javascript
复制
require Encode;
use Unicode::Normalize;

s/\x{0085}//g;

删除NEL: Next Line, U+0085字符。

票数 1
EN

Stack Overflow用户

发布于 2009-12-30 06:46:43

您需要考虑谁在使用这些数据,并更多地了解生成这些文件的环境。如果您最终想要的是一个普通的CSV输出文件,那么可以使用任何您喜欢的旧字符串操作来摆脱它们(并生成CRLF终止符),这样就没问题了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1973012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档