este momento, yo estoy poniendo en práctica esto con una división, rebanada, y la implosión:explosión UpperCasedCamelCase a la sentencia de camello mayusculas en PHP
$exploded = implode(' ',array_slice(preg_split('/(?=[A-Z])/','ThisIsATest'),1));
//$exploded = "This Is A Test"
Prettier versión:
$capital_split = preg_split('/(?=[A-Z])/','ThisIsATest');
$blank_first_ignored = array_slice($capital_split,1);
$exploded = implode(' ',$blank_first_ignored);
Sin embargo, el problema es cuando tiene una entrada como 'SometimesPDFFilesHappen'
, que mi implementación interpretaría (incorrectamente) como 'Sometimes P D F Files Happen'
.
¿Cómo puedo (simplemente) obtener mi secuencia de comandos para condensar 'P D F'
a 'PDF'
?
Mi clasificación para cuando debería dividirse sería empezar en la primera capital, y poner fin a uno antes de la última, para dar cabida a la siguiente palabra.
Sí, sé que hay algunas ambigüedades, como en 'ThisIsAPDFTest'
, que se interpretaría como 'This Is APDF Test'
. Sin embargo, no puedo pensar en una forma "inteligente" de evitar esto, por lo que es un compromiso aceptable.
Consulte también: http://stackoverflow.com/questions/3103730/is-there-a-elegant-way-to-parse-a-word-and-add-spaces-before-capital-letters/3103795 # 3103795 –