【问题标题】:PHP Double Space And A New Line RegexPHP 双空格和新行正则表达式
【发布时间】:2020-07-17 16:09:02
【问题描述】:

我有一个我读取的 XML 文件,其中有许多空标签,所以一旦我剥离了标签,在下一组数据开始之前我会留下几个空行我已经尝试了一些正则表达式来删除所有行虽然我可以删除空行但我似乎无法删除包含两个空格和一个新行的石灰

我尝试过使用:-

  • $file = preg_replace('/\s*\n/', "", $file);
  • $file = preg_replace('/\s\s\n/', "", $file);

我很茫然,任何帮助都会很棒。我在下面的代码标签中添加了部分文本

1 
08.778 
09.870 
09.870 
11.947 
  
  
  
  
  
  
2 
09.112 
09.664 
09.681 
17.090

【问题讨论】:

  • 你可以使用^\h{2}\R regex101.com/r/jbpoa2/1
  • 似乎在 regex101 和 notepad++ 上工作正常,但是当我使用 $file = preg_replace('/^\h{2}\R/', "", $file); 时它似乎什么都不做
  • 它也可以在 Notepad++ 中使用 你必须为多行添加 /m。请参阅下面答案中的示例。
  • 你为什么要这样处理 XML 文件?

标签: php regex


【解决方案1】:

您可以从字符串 ^ 的开头开始匹配,2 次水平空白字符 \h{2} 后跟 unicode 换行符序列 \R 并替换为空字符串。

^\h{2}\R

例如

$file = preg_replace('/^\h{2}\R/m', "", $file);

Regex demo | Php demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多