【问题标题】:Remove whitespace around certain character with preg_replace使用 preg_replace 删除特定字符周围的空格
【发布时间】:2011-04-05 12:16:17
【问题描述】:

我有一个字符串,我想使用 preg_replace 删除某个字符周围的所有空格。在我的例子中,这个角色是/

例如:

first part / second part 将变为 first part/second part

或者假设现在这个角色是:

first part : second part 将变为 first part:second part

我找不到有关如何执行此操作的示例...谢谢!

【问题讨论】:

  • 谢谢大家,你们的速度很快!所有解决方案都有效。
  • 欢迎来到 StackOverflow creatoro!我们在此处尝试快速解决大多数问题 - 几分钟后刷新页面以查看所有答案甚至是一个好主意。

标签: php preg-replace whitespace


【解决方案1】:
$string = preg_replace("/\s*([\/:])\s*/", "$1", $string);

解释:

  • \s* 表示任意数量 (*) 的空白 (\s)
  • [\/:]/:。如果您想要其他角色,只需在此处添加即可。
  • 括号是一个捕获组,您使用$1 引用它,这意味着如果它与: 匹配,那么$1 将表示:

【讨论】:

    【解决方案2】:

    用你的角色替换:

    $string = preg_replace("/\s*:\s*/", ":", $string);
    

    英文:

    替换任意数量的空格(包括 0),然后是 :,然后是任意数量的空格,只需 :

    【讨论】:

      【解决方案3】:

      匹配可选空格,后跟您的字符(在括号中捕获),然后是另一个可选空格,然后替换为您捕获的字符

      preg_replace('/\s*(:)\s*/',"$1",$str);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-06
        • 2016-07-23
        • 2014-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多