【发布时间】:2019-11-08 11:16:30
【问题描述】:
我需要在这样的字符串中添加空格:
IMACSuperSeriousLabelDCN
输出如下:
IMAC Super Serious Label DCN
目前我已经设法在 PHP 中使用此代码:
$label = preg_replace('/(?<!\ )[A-Z]/', ' $0', $field);
但是它不考虑跳过单个大写字母,所以我得到:
I M A C Super Serious Label D C N
如何跳过在大写字母之间插入空格,但在大写字母之前放置一个空格,然后是小写字母,以及在小写字母出现几个大写字母之后(示例字符串的结尾?
【问题讨论】:
-
所以,您找到了this solution,但它不适合您。
-
仅供参考:使用正则表达式,很难处理像
I或A这样的单字母大写单词(例如IMACASuperSeriousLabelDCN=>IMAC A Super Serious Label DCN) -
我检查了链接,是的,我一直在使用它,但是我的案例比答案中显示的更先进。幸运的是,我不应该有你发布的带有 A 和 I 字母的情况:)
-
参见 this regex 基于编辑的链接解决方案。该线程的另一个解决方案是also working