PHP 正则表达式查找并用 1 个管道替换 1 个或多个管道的字符串

标签 php regex

我正在尝试用 PHP 中的字符串中的一个管道替换一个或多个管道。以下尝试不起作用:

$string = preg_replace('/\|+/', '|', $string);

这是输入和所需输出的示例:

输入

only | 1494 | | | | | | Limit: None | | Enr: 22 | | | | | | | | |RE

所需输出

only | 1494 | Limit: None | Enr: 22 | RE

提前感谢您解决了这个令人头痛的问题。

最佳答案

您可以使用模式 \s* 来匹配空格。

此代码执行您想要的操作:

<?php

$text = 'only | 1494 | | | | | | Limit: None | | Enr: 22 | | | | | | | | |RE';

$string = preg_replace('/(\|\s*)+/', '| ', $text);

assert($string === 'only | 1494 | Limit: None | Enr: 22 | RE');

关于PHP 正则表达式查找并用 1 个管道替换 1 个或多个管道的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32151159/

相关文章:

php - 无法浏览 mysql 查询结果

javascript - 如何通过选择特定的 id 来显示表中的数据以从数据库中获取多行

php - 如何在同一查询中同时使用 ON DUPLICATE KEY 和 REPLACE INTO ?

javascript - 如何为 while 循环构建正则表达式?

java - Android 正则表达式总是返回 false

java表达式查找多个单词

php - 计数功能在开关中不起作用

PHP - 所有 PDO 事务和严格的 MySQL 事务之间的区别?

python - 用于解析列表项的正则表达式

java - MongoDb Spring 在嵌套对象中查找