doumu5934 2018-10-16 20:42
浏览 40
已采纳

用字符串中的逗号和空格替换3d空格

To replace a whitespace with a comma and whitespace in a string I should do something like this:

$result = preg_replace('/[ ]+/', ', ', trim($value));

The result: Some, example, here, for, you

However, I only want to replace the 3d white space, so that the result would look like this:

Some example here, for you

How do I do that?

  • 写回答

3条回答 默认 最新

  • doushai7225 2018-10-16 20:48
    关注

    You may use something like

    $value = " Some example here for you ";
    $result = preg_replace('/^\S+(?:\s+\S+){2}\K\s+/', ',$0', trim($value), 1);
    echo $result; // => Some example here, for you
    

    See the PHP demo and the regex demo.

    Pattern details

    • ^ - start of string
    • \S+ - 1+ non-whitespaces
    • (?:\s+\S+){2} - two consecutive occurrences of
      • \s+ - 1+ whitespaces
      • \S+ - 1+ non-whitespaces
    • \K - a match reset operator
    • \s+ - (the $0 in the replacement pattern references this substring) 1+ whitespaces.
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染