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

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

$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


慕仙森
浏览 148回答 3
3回答

慕容708150

你可以用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 67892546734 34552334734556 341523347345563415

互换的青春

function func($text, $digits = 4){&nbsp; $str = '';&nbsp; for ($i = strlen($text)-1; $i >= 0; $i--){&nbsp; &nbsp; if(strlen($str) < $digits && !is_numeric($text[$i]))continue;&nbsp; &nbsp; $str .= $text[$i];&nbsp; }&nbsp; return strrev($str);}$text1 = '12895 6 7 8 9';$text2 = '2546734 34 55';$text3 = '2334734556 341 5';echo func($text1, 4);&nbsp; &nbsp;//12895 6789echo func($text2, 4);&nbsp; &nbsp;//2546734 3455echo func($text3, 4);&nbsp; &nbsp;//2334734556 3415

三国纷争

如果您正在寻找使用正则表达式的东西,请查看下面的示例。它使用匹配来获取字符串的不同部分,然后以正确的格式将其连接回。$strings = [&nbsp; &nbsp; '12895 6 7 8 9',&nbsp; &nbsp; '2546734 34 55',&nbsp; &nbsp; '2334734556 341 5',];function formatNumber($number){&nbsp; &nbsp; preg_match('/(\d+) ?((?:[\d]\s*){4})$/', $number, $matches);&nbsp; &nbsp; if (!$matches) {&nbsp; &nbsp; &nbsp; &nbsp; return $number;&nbsp; &nbsp; }&nbsp; &nbsp; return sprintf('%s %s', $matches[1], str_replace(' ', '', $matches[2]));}var_dump(array_map('formatNumber', $strings));输出:array(3) {&nbsp; [0] =>&nbsp; string(10) "12895 6789"&nbsp; [1] =>&nbsp; string(12) "2546734 3455"&nbsp; [2] =>&nbsp; string(15) "2334734556 3415"}
打开App,查看更多内容
随时随地看视频慕课网APP