【问题标题】:How can I remove "Page ###" from a string in php如何从 php 中的字符串中删除“Page ###”
【发布时间】:2014-09-07 18:00:49
【问题描述】:

我正在尝试组织一堆文本,我需要从字符串中删除“Page ###”?

例子:

alpha 1 beta gamma Page 3              =>    alpha 1 beta gamma 
alpha 1 beta gamma Page 300            =>    alpha 1 beta gamma
alpha 1 beta gamma Page 3000 foo bar   =>    alpha 1 beta gamma foo bar

我可以使用str_replace('Page','',$str); 很好地替换“页面”,但是如何替换所有出现的Page ###

在 Page 中始终是一个大写的“P”,后跟一个空格和一个整数。

【问题讨论】:

    标签: php regex preg-replace str-replace


    【解决方案1】:

    正则表达式非常适合:

    $new_string = preg_replace('/Page \d+ /', '', $string);
    

    【讨论】:

      【解决方案2】:

      正则表达式:

      $string = 'alpha 1 beta gamma Page 3000 foo bar';
      $pattern = '/Page [0-9]* /';
      $replacement = '';
      echo preg_replace($pattern, $replacement, $string);
      

      【讨论】:

      • 看着您编辑答案并更改所有复制和粘贴内容以适应这个问题很有趣:)
      • 是的,问题是我误解了,我写了一个javascript代码..所以我把它改成了PHP..哈哈抱歉。
      • 答案中建议除了代码外还有注释。
      【解决方案3】:

      正则表达式非常适合处理特定模式:

      preg_replace('/Page\s[0-9]+/', '', $str);

      有用的资源:

      http://php.net/manual/en/function.preg-replace.php

      https://en.wikipedia.org/wiki/Regular_expression

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 1970-01-01
        • 2012-02-16
        • 1970-01-01
        相关资源
        最近更新 更多