如何在点存在的地方之前附加逗号一个字符?

How to append comma one character before where dot exists?

我把它作为一个字符串-

$String ="A. Bird Blue B. Red Hat C. Purple Dinosaur D. Black hat E. Clean soap";

我想要这个 -

$output="A. Bird Blue, B. Red Hat, C. Purple Dinosaur, D. Black hat, E. Clean soap";

请帮我解决这个问题。

您可以尝试使用正则表达式。

$String ="A. Bird Blue B. Red Hat C. Purple Dinosaur D. Black hat E. Clean soap";
$regex = '/(\s[A-Z]\.)/';
$Output = preg_replace($regex, ',', $String);
echo $Output;

输出:

 A. Bird Blue, B. Red Hat, C. Purple Dinosaur, D. Black hat, E. Clean soap

正则表达式解释:

/(\s[A-Z]\.)/
  • \s 匹配任意白色 space 字符

  • [A-Z] 匹配下面列表中的单个字符 A-Z 介于 A 和 Z 之间的单个字符(区分大小写)

  • \. 按字面意思匹配字符 .

匹配替换为[逗号+第一组(\s[A-Z]\.)].