使用preg_split和表达工[A-Z]来分割: function splitAtUpperCase($s) { return preg_split('/(?=[A-Z])/', $s, -1, PREG_SPLIT_NO_EMPTY); } 使用preg_replace替换: preg_replace('/(?<!^)([A-Z])/', '-\\1', $param);