首页 > 解决方案 > 删除某些字符串之前的空格

问题描述

我可以想到“foreach 字符串替换”的方法,但觉得正则表达式替换方法会更快、更优雅,不幸的是,正则表达式不是我最擅长的。

我想要这样的字符串

23 AB 5400 DE 68 RG

并将其变成

23AB 5400DE 68RG

数字和后面的字母之间的空格数通常是一个,但可能是可变的。

我有这个例子,它正在寻找组但是我如何摆脱替换中的空格?

https://regex101.com/r/ODhpQM/2

这是我尝试生成的代码

$re = '/(\d+ +)(AB|DE|RG|DU)/m';
$str = '23 AB 5400 DE 68 RG
        33 DU 88 DE 8723 AB
        55    RG 76  AB  92 DE';
$subst = '\\1\\2';

$result = preg_replace($re, $subst, $str);

echo "The result of the substitution is ".$result;

标签: phpregex

解决方案


尝试正则表达式:(\d+) +(AB|DE|RG|DU)

演示


推荐阅读