需要正则表达式模式来删除字符串开头的数字

时间:2014-05-23 11:22:09

标签: php regex preg-replace

我有一个如下字符串:

tpgtags: sham = 6john = 5tpg100 = 4tpg1 = 3ram = 2

我希望它如下:

sham john tpg100 tpg1 ram

我的问题是我只想删除2,3,5,6而不是100也不是1.我该怎么做?我无法删除所有数字,因为它删除了100和1但这些都在字符串的末尾。我想删除数字在字符串前面。 使用preg_split时,它会删除所有数字,那么您能告诉我如何删除数字而不是所有数字吗?

1 个答案:

答案 0 :(得分:1)

怎么样:

$str = 'tpgtags: sham 6john 5tpg100 4tpg1 3ram 2';
$str = preg_replace('/\s\d+/', ' ', $str);
echo $str,"\n";

<强>输出:

tpgtags: sham john tpg100 tpg1 ram

删除所有以空格开头的数字。

根据您的编辑,您还要重新标记=符号,因此请使用:

$str = 'tpgtags: sham = 6john = 5tpg100 = 4tpg1 = 3ram = 2';
$str = preg_replace('/\s=\s\d+/', ' ', $str);
echo $str,"\n";