gpt4 book ai didi

php - preg_replace 最后 4 位数字之间的空格

转载 作者:搜寻专家 更新时间:2023-10-31 20:56:55 27 4
gpt4 key购买 nike

我知道如何从字符串中删除空格:

$text = preg_replace('/\s+/', '', $text);

但是,如果我只需要删除任何数字最后 4 位之间的空格怎么办?

举个例子:

12895 6 7 8 9 - 我希望它变成 12895 6789

2546734 34 55 - 我希望它变成 2546734 3455

2334734556 341 5 - 我希望它变成 2334734556 3415

我该怎么做?

** 更新:我想删除最后四位数字之间的空格,而不是第一个空格之后的空格(因为所有示例都显示空格)。所以这样的事情会是一个更好的例子:

23347345563 4 1 5 - 我希望它变成 23347345563415

最佳答案

您可以使用 preg_replace 和这个正则表达式实现您想要的:

\s+(?=(\d\s*){0,3}$)

它在它和行尾之间寻找一个空格,后跟 0 到 3 个数字(带有可选空格)(使用正向前看)。只需将这些空格替换为空字符串 (''):

$text = preg_replace('/\s+(?=(\d\s*){0,3}$)/', '', '12895 6 7 8 9');
echo "$text\n";
$text = preg_replace('/\s+(?=(\d\s*){0,3}$)/', '', '2546734 34 55');
echo "$text\n";
$text = preg_replace('/\s+(?=(\d\s*){0,3}$)/', '', '2334734556 341 5');
echo "$text\n";
$text = preg_replace('/\s+(?=(\d\s*){0,3}$)/', '', '23347345563 4 1 5');
echo "$text\n";

输出:

12895 6789
2546734 3455
2334734556 3415
23347345563415

Demo on 3v4l.org

关于php - preg_replace 最后 4 位数字之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57446206/

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