gpt4 book ai didi

php - 如何以一定的间隔放置一个字符?

转载 作者:可可西里 更新时间:2023-11-01 00:30:39 25 4
gpt4 key购买 nike

我试图在 PHP 中的字符串中以特定间隔放置破折号。这是我从 JSON GET 中检索到的字符串:

fb396a80cada446f9e63d871116b8ddf

这就是我需要的字符串:

fb396a80-cada-446f-9e63-d871116b8ddf

如何在间隔处放置破折号?

我试过了,没用:

$mcuuid = $json_decode->id;

$p1 = substr($mcuuid, 0, 7);
$p2 = substr($mcuuid, 8, 12);
$p3 = substr($mcuuid, 12, 15);
$p4 = substr($mcuuid, 16, 19);
$p5 = substr($mcuuid, 20, 31);

$final = $p1 . "-" . $p2 . "-" . $p3 . "-" . $p4 . "-" . $p5;

最佳答案

您可以使用正则表达式来完成。

echo preg_replace('~^(.{8})(.{4})(.{4})(.{4})(.{4})(.*)$~', 
'$1-$2-$3-$4-$5',
'fb396a80cada446f9e63d871116b8ddf');

输出:

fb396a80-cada-446f-9e63-d871

.是任意字符
{} 是您要允许的前面字符/组的字符数。() 捕获其中找到的值
替换中的 $1 是 1 个捕获组
* 是量词,表示零个或多个字符
^$ 是 anchor ;他们要求完整的字符串是匹配项(更具体地说,^ 是字符串的开头,$ 是结尾)。

Regex101 演示:https://regex101.com/r/oI1hU0/1

关于php - 如何以一定的间隔放置一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com