在linux中使用perl删除单元格(电子表格)中的换行/新行

在linux中使用perl删除单元格(电子表格)中的换行/新行,perl,Perl,如何使用perl删除单元格中的换行符/回车符 我试图在linux平台上使用perl读取电子表格中的一个单元格,在读取单元格中的文本时,它被转换为 。后来在搜索时,我发现这是由于回车/换行 例如: $var1=$cell->{Val}//文本格式:存储为0x08 在这里检查$var1值时,我得到0x08 ,因此我尝试删除空格/换行符,并使用regx语句,如: $var=~s/[\r\n]//g,$var=~s/\n//g,chomp($var)…等等,但我没有得到预期的结果,即0x08

如何使用perl删除单元格中的换行符/回车符

我试图在linux平台上使用perl读取电子表格中的一个单元格,在读取单元格中的文本时,它被转换为

。后来在搜索时,我发现这是由于
回车/换行

例如:

$var1=$cell->{Val}//文本格式:存储为
0x08

在这里检查$var1值时,我得到
0x08
,因此我尝试删除空格/换行符,并使用regx语句,如:


$var=~s/[\r\n]//g
$var=~s/\n//g
,chomp($var)…等等,但我没有得到预期的结果,即
0x08

一个文本
&\10?像html/xml转义字符吗?我在windows机器上试过。我编写了一个
.xlsx
文件,其中一个单元格包含新行“\n”。然后我将
.xlsx
传输到一台linux机器上,用于读取文件,并使用
$cell->{Val}
提取单元格中的数据,但没有发生任何特殊情况。换行符尚未转换,即单元格值与windows计算机上的值完全相同。请说明您是如何在windows机器上创建.xlsx的。对于回复,我使用
libreoffice Calc
将excel工作表(.xlsx)存储在
linux
机器中。在这种情况下,我将数据保存为单元格中的
文本格式
,并尝试使用perl读取数据:
$cell->{Val}
,存储的确切值是电子表格中的
0x08
,但在读取数据时,数据被视为
0x08
,看起来您得到的是
和#10
,即4个字符的字符串,而不是一个换行符。如果是这样的话,
$var=~s/\&\35; 10/>怎么样?如果您实际上指的是ascii值为10的单个字符,
s/\x0a/
应该可以工作,尽管在本例中,您尝试的方法应该已经工作了?像html/xml转义字符吗?我在windows机器上试过。我编写了一个
.xlsx
文件,其中一个单元格包含新行“\n”。然后我将
.xlsx
传输到一台linux机器上,用于读取文件,并使用
$cell->{Val}
提取单元格中的数据,但没有发生任何特殊情况。换行符尚未转换,即单元格值与windows计算机上的值完全相同。请说明您是如何在windows机器上创建.xlsx的。对于回复,我使用
libreoffice Calc
将excel工作表(.xlsx)存储在
linux
机器中。在这种情况下,我将数据保存为单元格中的
文本格式
,并尝试使用perl读取数据:
$cell->{Val}
,存储的确切值是电子表格中的
0x08
,但在读取数据时,数据被视为
0x08
,看起来您得到的是
和#10
,即4个字符的字符串,而不是一个换行符。如果是这样的话,
$var=~s/\&\35; 10/>怎么样?如果您实际上是指ascii值为10的单个字符,
s/\x0a//
应该可以工作,尽管在这种情况下,您尝试的方法应该已经工作了。