当前位置: 首页 > 面试题库 >

如何从PHP文本中删除空白行?

太叔经赋
2023-03-14
问题内容

我需要在PHP中删除空白行(带空格或绝对空白)。我使用此正则表达式,但不起作用:

$str = ereg_replace('^[ \t]*$\r?\n', '', $str);
$str = preg_replace('^[ \t]*$\r?\n', '', $str);

我想要一个结果:

blahblah

blahblah

   adsa


sad asdasd

将:

blahblah
blahblah
   adsa 
sad asdasd

问题答案:
// New line is required to split non-blank lines
preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string);

上面的正则表达式说:

/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/
    1st Capturing group (^[\r\n]*|[\r\n]+)
        1st Alternative: ^[\r\n]*
        ^ assert position at start of the string
            [\r\n]* match a single character present in the list below
                Quantifier: Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
                \r matches a carriage return (ASCII 13)
                \n matches a fine-feed (newline) character (ASCII 10)
        2nd Alternative: [\r\n]+
            [\r\n]+ match a single character present in the list below
            Quantifier: Between one and unlimited times, as many times as possible, giving back as needed [greedy]
            \r matches a carriage return (ASCII 13)
            \n matches a fine-feed (newline) character (ASCII 10)
    [\s\t]* match a single character present in the list below
        Quantifier: Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
        \s match any white space character [\r\n\t\f ]
        \tTab (ASCII 9)
    [\r\n]+ match a single character present in the list below
        Quantifier: Between one and unlimited times, as many times as possible, giving back as needed [greedy]
        \r matches a carriage return (ASCII 13)
        \n matches a fine-feed (newline) character (ASCII 10)


 类似资料:
  • 问题内容: 我确实有一个包含超过100000个数据元素的表,但是其中几乎有350个空白行。如何使用phpmyadmin删除此空白行?手动删除是一项繁琐的任务。 问题答案: 普遍的答案是: 或者 参见:http : //dev.mysql.com/doc/refman/5.0/en/delete.html 发布表格时的更多信息!〜 另外,请务必执行以下操作: 删除之前,这样就可以看到要删除的行!我认

  • 我遇到了损坏的CSV问题,它在图像链接中有空白。 CSV文件由我的客户业务合作伙伴自动创建,约22000行。CSV中大约有30个链接被破坏,我无法修复。因为它每3小时更新一次。 所以,我试图想出一个自动的解决方案,但似乎没有任何效果。 问题在于图像链接,如以下链接:https://images.tyroo.de/GISLAVED_ULTRA_SPEED2�.jpg 它以前有空间。一些文件有3个空格

  • 我正在使用2018.1.5社区版的intellij编辑器来编辑纯文本文件。 我没有使用项目。我在Linux上启动它,如下所示: 其中my_file.mpl是纯文本文件。 这很有效,除了一个大问题。 我需要在一些行的末尾留一个空白。i、 在文件中某行的行字符后,我插入一些白色。通过执行“查看”,我看到空间在那里- 但一旦我保存了文件,这些空白就会从行尾删除。 这给我带来了一个问题(由于其他原因,当其

  • 问题内容: 我有一些Java(5.0)代码,可以从各种(缓存的)数据源构造DOM,然后删除不需要的某些元素节点,然后使用以下方法将结果序列化为XML字符串: 但是,由于要删除几个元素节点,所以最终的序列化文档中最终会有很多额外的空格。 有没有一种简单的方法可以在将DOM序列化为String之前(或同时)从DOM中删除/折叠多余的空格? 问题答案: 您可以使用XPath查找空文本节点,然后以编程方式

  • 问题内容: 我有一个很大的csv文件,其中某些行完全空白。如何使用Python从csv中删除所有空白行? 经过您的所有建议,这就是我到目前为止的内容 可以吗?或者有更好的方法吗? 问题答案: 使用模块: 如果还需要删除所有字段为空的行,请将行更改为: 而且,如果您还想将仅包含空格的字段视为空白,则可以将其替换为: 请注意,在Python 2.x和更早版本中,该模块需要二进制文件,因此您需要使用e标

  • 我一直试图创建一个宏来格式化从特定外部源复制的表,问题是,一些单元格似乎从右向左填充,剩余的空间向左填充空格: