【问题标题】:PHP: remove extra space from a string using regexPHP:使用正则表达式从字符串中删除多余的空格
【发布时间】:2010-09-21 18:49:42
【问题描述】:

如何使用正则表达式 (preg_replace) 删除字符串末尾的多余空格?

$string = "some random text with extra spaces at the end      ";

【问题讨论】:

    标签: php regex string whitespace


    【解决方案1】:

    这里不需要正则表达式,你可以使用rtrim,它更干净、更快:

    $str = rtrim($str);
    

    但如果你想要一个基于正则表达式的解决方案,你可以使用:

    $str = preg_replace('/\s*$/','',$str);
    

    使用的正则表达式是/\s*$/

    • \s 是任何空白的缩写 char,包括空格。
    • * 是零或的量词 更多
    • $ 是结束锚

    基本上,我们将尾随空白字符替换为空字符 (''),从而有效地删除它们。

    【讨论】:

    • 代替* 量词,您可以使用+ 量词来避免一无所有。
    【解决方案2】:

    这里你真的不需要正则表达式,你可以使用rtrim()函数。

    $string = "some random text with extra spaces at the end      ";
    $string = rtrim($string);
    

    Code on ideone


    另见:

    【讨论】:

    • 嘿,我也想知道,+1 让宇宙更美好。
    • +1 因为这个答案可能不那么吸引人,但它是正确的!
    【解决方案3】:

    您可以使用rtrim

    【讨论】:

      【解决方案4】:

      您可以使用 trim() 来执行此操作:

      http://php.net/manual/en/function.trim.php

      【讨论】:

      • 抱歉...错过了“最后”。正如其他人指出的那样...... rtrim()
      • @LarsH,不想将其编辑为与另一个相同,以防 trim() 选项可能适用于未来的搜索者,但要点...thx
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 2012-06-13
      • 2016-05-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多