dppcyt6157 2019-05-10 21:09
浏览 5
已采纳

如何使用PHP将`string`操作为给定的格式

I have 20 digits|length string, example: 22223333333334444333. How to manipulate with given format, like this: 00-00-000-000-000-0000-000 in PHP?

expected result: 22-22-333-333-333-4444-333

  • 写回答

1条回答 默认 最新

  • dqpfkzu360216 2019-05-10 21:24
    关注

    You could use some Regular Expressions to get it done in a few steps.

    <?php
    
    // Test string
    $string = "22223333333334444333";
    
    // Pattern: 22-22-333-333-333-4444-333
    $pattern = "/([0-9]{2})([0-9]{2})([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{4})([0-9]{3})/";
    
    // Get all the matching elements in the pattern
    preg_match($pattern, $string, $matches);
    
    // Remove the first element from the results (it's the entire string, we don't want that)
    array_shift($matches);
    
    // Join all the others matches with "-"
    $formatted = implode('-', $matches);
    
    // And there you have your formatted string
    var_dump($string, $formatted);
    
    // Output
    // '22223333333334444333' (length=20)
    // '22-22-333-333-333-4444-333' (length=26)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答