代码之家  ›  专栏  ›  技术社区  ›  Ali

如何使用regex从字符串中删除数字

  •  17
  • Ali  · 技术社区  · 14 年前

    我有一根这样的绳子:

    " 23 PM"
    

    我想搬走 23 所以我只剩下 PM 或(空格被截断)只是 颗粒物 .

    有什么建议吗?

    需要在PHP中

    8 回复  |  直到 10 年前
        1
  •  62
  •   Mark Baker    14 年前
    echo trim(str_replace(range(0,9),'',' 23 PM'));
    
        2
  •  15
  •   Gordon Haim Evgi    14 年前

    可以做 ltrim

    ltrim(' 23 PM', ' 0123456789');
    

    这将删除字符串左侧的任何数字和空格。如果双方都需要,可以使用 trim . 如果你只需要它在右边,你可以使用 rtrim .

        3
  •  14
  •   tomasbelusky    14 年前
    preg_replace(“/[0-9]/”,“”,$string);
    
        4
  •  5
  •   Gordon Haim Evgi    14 年前

    也可以使用 str_replace 这通常是regex的更快的替代方案。

    str_replace(array(1,2,3,4,5,6,7,8,9,0,' '),'', ' 23 PM');
    // or
    str_replace(str_split(' 0123456789'), '', ' 23 PM');
    

    它将替换任何数字0-9和字符串中的空格,不管位置如何。

        5
  •  5
  •   Andy E    14 年前

    如果只需要字符串的最后两个字符,请使用 substr 以消极的开始:

    $pm = substr("  23 PM", -2); // -> "PM"
    
        6
  •  3
  •   Toto    14 年前
    $str = preg_replace("/^[0-9 ]+/", "", $str);
    
        7
  •  3
  •   Fidi    14 年前

    正则表达式

    preg_replace('#[0-9 ]*#', '', $string);
    
        8
  •  2
  •   zb226 Steven Lizarazo    10 年前

    您还可以使用以下内容:

    preg_replace('/\d/', '',' 23 PM' );