我目前面临一个似乎很容易处理的问题,但到目前为止我还没有解决它。我有一个“管道分隔值”文件,我想删除每一行所有值的所有前导和尾随空格。该文件可能包含多行。
例子:
1| | Field2 | Field3
2| 123 | Field2 |
3| | | Field3
删除空格后我想要什么:
1||Field2|Field3
2|123|Field2|
3|||Field3
只要最后一个字段(在本例中为 Field3)不为 NULL,我到目前为止就可以使用。这对应于上面示例中的第 2 行。当最后一个字段为 NULL 时,它将该行与下一行连接起来,创建比预期更大的行。
到目前为止,我的代码是这样的:
$res =~ s/\s*\|\s*/\|/g;
如前所述,只要所有行的最后一个字段不为 NULL,它就可以工作。我试图提出一个正则表达式,它匹配除最后一个管道之外的所有管道,但到目前为止没有成功。
知道如何删除所有空格并保持线路完整性吗?
提前致谢,
若昂