在字符串中大写字母之前添加空格

时间:2019-01-04 07:08:42

标签: php preg-replace

我正在尝试将字符串从“ ANGEL PalmoliveDishLiqOrchard”格式化为“ ANGEL PalmoliveDishLiq Orchard”

我使用了以下代码:

<?php
$t = 'ANGEL PalmoliveDishLiqOrchard ';
$t = preg_replace('/(?<!\ )[A-Z]/', ' $0', $t);
echo $t;
?>

此返回A N G E L棕碟菜园

我想要格式化它     天使棕榈果园果园

2 个答案:

答案 0 :(得分:1)

如果您检查大写字母后面是否有小写字母...

$t = 'ANGEL PalmoliveDishLiqOrchard ';
$t = preg_replace('/(?<!\ )[A-Z][a-z]/', ' $0', $t);
echo $t;

你会得到

ANGEL Palmolive Dish Liq Orchard 

答案 1 :(得分:1)

我们可以尝试在以下外观上进行匹配:

(?<=[a-z])(?=[A-Z])

这将匹配字符串中的每个位置,紧随其后的是小写字母,而立即进行的是大写字母。替换是一个空格,也就是说,我们在这些位置插入一个空格。

$t = 'ANGEL PalmoliveDishLiqOrchard ';
$t = preg_replace('/(?<=[a-z])(?=[A-Z])/', ' ', $t);
echo $t;

ANGEL Palmolive Dish Liq Orchard