Autor Tema: Ejemplo expresiones regulares PHP preg_match contar vocales CU00828B  (Leído 2984 veces)

Javano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Hola yo no quería escribir tanto código así que investigue un poco y me di cuenta que las expresiones regulares ahorran mucho tiempo y código, combinando las funciones y el foreach y el if y el else if obtuve lo siguiente.


Enunciado:
Citar
Crear archivos php que ejecuten la tarea indicada:

a) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar cuántas veces aparece cada vocal usando funciones para cadenas PHP.

b) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar qué consonantes son las que aparecen y cuántas veces aparecen usando funciones para cadenas PHP.

c) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la cadena donde todas las a hayan sido sustituídas por el símbolo *. Por ejemplo en lugar de <<El abecedario…>> se habrá de mostrar <<El *beced*rio…>>

d) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la subcadena desde la primera aparición de <<completo>> excluyendo completo, es decir, deberá mostrarse << es algo largo y detallarlo exhaustivamente es costoso>>. Para ello usa una o varias funciones para cadenas PHP.


Código: [Seleccionar]
<?php

echo '<br>';
echo 
'### Aqui las vocales ### <br>';
$cadena ="El abecedario completo es algo largo y detallarlo exhaustivamente es costoso";
$vocales 0;
$consonantes 0;
foreach (
count_chars($cadena1) as $i => $val
{
$letra=$i;
if (preg_match('/[aeiouáéíóúü]/i',chr($i)))
            {
        $vocales $vocales $val;
echo chr$letra) .' aparece '.substr_count($cadenachr$letra)). ' veces <br>';
        } else if (preg_match('/[a-z]/i',chr($i)))
        {
              $consonantes$consonantes $val .'<br>';
 // chr( $letra).'<br>';
  //echo chr( $letra) .' aparece '.substr_count($cadena, chr( $letra)). ' veces <br>';
//chr($cons=$consonantes) .'<br>';
        }
}
echo 
"<br>  Vocales: $vocales <br>";


echo 
'<br>';
echo 
'### Aqui las consonantes ### <br>';
$cadena ="El abecedario completo es algo largo y detallarlo exhaustivamente es costoso";
$vocales 0;
$consonantes 0;
foreach (
count_chars($cadena1) as $i => $val
{
$letra=$i;
if (preg_match('/[aeiouáéíóúü]/i',chr($i)))
            {
        $vocales $vocales $val;

        } else if (preg_match('/[a-z]/i',chr($i)))
        {
              $consonantes$consonantes $val .'<br>';

 echo chr$letra) .' aparece '.substr_count($cadenachr$letra)). ' veces <br>';

        }
}
echo 
"<br>  Consonantes: $consonantes <br>";
?>


Se pudo haber mandado a imprimir en uno solo las dos respuestas pero para efectos del ejercicio era mejor separado y aprovecha y cuenta el total de las vocales y consonantes.
« Última modificación: 25 de Mayo 2015, 19:53 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Ejemplo expresiones regulares PHP preg_match contar vocales CU00828B
« Respuesta #1 en: 25 de Mayo 2015, 19:56 »
Hola javano, usar expresiones regulares como bien dices puede ser interesante y útil, aunque dentro del curso para este ejercicio no se pide usar expresiones regulares ya que aún no se han explicado dentro del curso. Por tanto la solución con expresiones regulares podemos verla como "una mejora" o variante del ejercicio.

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".