首页 > 解决方案 > 如何使用php在字符串中以空格分隔的所有数字的前面添加一个字符

问题描述

我有一个用数字填充的字符串,我试图在每个数字系列的前面添加一个字符:

$dna = "273385 14093 1522520 1759 277697 283096 1133193 191835 246752 204984 973590"

但我想结束:

$dna = "m#273385 m#14093 m#1522520 m#1759 m#277697 m#283096 m#1133193 m#191835 m#246752 m#204984 m#973590"

我得到的最接近的是使用

$dna= preg_replace('~(\w+)~', '$1m#',$dna);

这给了我:

$dna = "273385m# 14093m# 1522520m#"

我怎样才能让它附加到前面?

标签: phpregexpreg-replace

解决方案


您可以使用

preg_replace('~\d+~', 'm#$0', $dna)

查看正则表达式演示

\d+匹配 1 个或多个数字的条纹,m#$0并将每个匹配替换m#为整个匹配值($0引用反向引用)。

查看PHP 演示

$dna = "273385 14093 1522520 1759 277697 283096 1133193 191835 246752 204984 973590";
echo preg_replace('~\d+~', 'm#$0', $dna);
// => m#273385 m#14093 m#1522520 m#1759 m#277697 m#283096 m#1133193 m#191835 m#246752 m#204984 m#973590

推荐阅读