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

PHP-帮助替换字符串中的特定字符

  •  -2
  • CheeseFlavored  · 技术社区  · 2 年前

    我有几行文字看起来像这样。。。

    My name is George 123123123

    I like cheese and crackers 123456789

    每个句子可以是任何长度,但总是以空格后跟9位数字结尾。

    我需要句子以空格连字符空格结束,然后是9位数字。

    但是。。。你不能改变句子的长度。

    我不想改成 My name is George - 123123123

    在本例中,它应该更改为 My name is Geor - 123123123

    2 回复  |  直到 2 年前
        1
  •  2
  •   Nigel Ren    2 年前

    您可以简单地从字符串末尾的偏移量替换字符串的部分(-12-9表示数字,3表示空格、连字符和空格)

    所以

    $string = 'My name is George 123123123';
    $string = substr_replace($string, ' - ', -12, 3);
    echo $string;
    

    给予

    My name is Geor - 123123123
    
        2
  •  1
  •   Rob Eyre    2 年前

    您可以尝试一个简单的正则表达式:

    preg_replace('/.. ([0-9]{9})$/', ' - \1', 'My name is George 123123123')
    

    生产

    My name is Geor - 123123123
    
    推荐文章