我有一个输出这样的csv:
的phpview-source:http://dentopolis.org/scr/pubfeed/csv.php
每一行都是这样的:
Article@Abstract@Authors@Journal@Date@Tags@Pubmed
但是如果缺少一些字段,那么两个符号@@就在一起。例如:
Article@@Authors@Journal@Date@Tags@Pubmed
如何删除这些线? PHP?记事本+ +?正则表达式?
答案 0 :(得分:0)
听起来您的导出脚本实际上是使用@
符号分隔符而不是标准逗号分隔符(逗号分隔值 - CSV)生成CSV。实际发生的是您的导出器正在为单元格找到一个空值,并将该值作为空字符串输出。如果删除这些值,则会导致格式错误的CSV文件,除非这些列中的每个单元格中都存在该空单元格。
如果您已准备好使用正则表达式删除它们,请按以下步骤操作:
$pattern = '/\@\@/';
$csv_content = 'big long string here';
echo preg_replace( $pattern, '', $csv_content );
这将只删除双@
符号并用空字符串替换它们。您可能希望将其替换为单个@
符号或其他内容:
echo preg_replace( $pattern, '@', $csv_content );
同样,这可能会导致格式错误的CSV文件。
答案 1 :(得分:0)
使用记事本++, 正则表达式
^.*@@.*$