$string = "MaryGoesToSchool";
$expectedoutput = "Mary Goes To School";
Respuesta
¿Qué pasa algo como esto:
$string = "MaryGoesToSchool";
$spaced = preg_replace('/([A-Z])/', ' $1', $string);
var_dump($spaced);
Este:
- corresponda a las letras mayúsculas
- y vuelva a colocar cada uno de ellos por un espacio, y lo que se igualaron
Lo que da esta salida:
string ' Mary Goes To School' (length=20)
Y a continuación, puede utilizar:
$trimmed = trim($spaced);
var_dump($trimmed);
Para quitar el espacio al principio, que obtiene que:
string 'Mary Goes To School' (length=19)
Prueba esto:
$expectedoutput = preg_replace('/(\p{Ll})(\p{Lu})/u', '\1 \2', $string);
Las notaciones \p{…}
están describiendo personajes a través de Unicode character properties; \p{Ll}
denota una letra minúscula y \p{Lu}
una letra mayúscula.
Otro enfoque sería la siguiente:
$expectedoutput = preg_replace('/\p{Lu}(?<=\p{L}\p{Lu})/u', ' \0', $string);
Aquí cada letra mayúscula solamente se antepone con un espacio si está precedida por otra carta. Entonces, MaryHasACat
también funcionará.
Aquí es una solución no expresiones regulares que me utilizar para formatear una cadena camelCase a un formato más legible:
<?php
function formatCamelCase($string) {
$output = "";
foreach(str_split($string) as $char) {
strtoupper($char) == $char and $output and $output .= " ";
$output .= $char;
}
return $output;
}
echo formatCamelCase("MaryGoesToSchool"); // Mary Goes To School
echo formatCamelCase("MaryHasACat"); // Mary Has A Cat
?>
Downvoter - ¿por qué? – alexn
Probar:
$string = 'MaryGoesToSchool';
$nStr = preg_replace_callback('/[A-Z]/', function($matches){
return $matches[0] = ' ' . ucfirst($matches[0]);
}, $string);
echo trim($nStr);
- 1. Cómo reemplazar mayúsculas con guiones bajos?
- 2. la conversión de todas las letras mayúsculas a init tapas
- 3. cómo usar ruby / rails para convertir todas las mayúsculas a letras mayúsculas adecuadas, descansar en minúsculas?
- 4. Texto CSS justificar con espaciado entre letras
- 5. php imagettftext espaciado entre letras
- 6. ¿Cómo reemplazar las letras mayúsculas por minúsculas usando expresiones regulares en Eclipse?
- 7. Gvim: Ubuntu espaciado entre letras (fuente Consolas)
- 8. Reemplazar todas las '\' chars por '/' con C#
- 9. ¿Cómo dividir entre dos letras mayúsculas?
- 10. Cómo convertir letras mayúsculas a minúsculas
- 11. Regexp - Cómo encontrar letras mayúsculas en MySQL solamente
- 12. Cómo reemplazar texto mientras se mantienen las mayúsculas?
- 13. cómo hacer todas las letras en la cadena capital?
- 14. ¿Cómo puedo obtener todas las letras alpabéticas en PHP?
- 15. Preservar todas las mayúsculas en BibTeX
- 16. .ToTitleCase no funciona en todas las mayúsculas
- 17. Espaciado entre caracteres en LaTeX con el paquete lstlisting
- 18. ¿Cuándo debería nombrar cosas con letras mayúsculas iniciales?
- 19. dividir una cadena de letras mayúsculas
- 20. Convertir letras minúsculas a mayúsculas en javascript
- 21. Reemplazar todas las instancias de carácter entre etiquetas con vim
- 22. reemplazar todas las ocurrencias de una cadena
- 23. Contar letras mayúsculas en cadena usando perl
- 24. Eclipse ¿Reemplazar texto en todas las clases?
- 25. reemplazar todas las ocurrencias dentro patrón
- 26. Enumeración de todas las letras de unidad disponibles en Windows
- 27. Uso de una expresión regular para reemplazar letras mayúsculas repetidas en python con una sola letra minúscula
- 28. RegEx para todas las letras (incluidos chino, griego, etc.)
- 29. Buscar todas las letras de unidad en Java
- 30. comprobar cadena para todas las letras minúsculas en powershell
Cómo espera la salida de "MaryHasACat"? –