¿Cómo puedo eliminar las vocales de una cadena excepto la vocal al final de la palabra?En java, cómo puedo eliminar las vocales son 'a', 'e', 'i', 'o' y 'u
Por ejemplo "Please come to my party"
Para volver "Plse cme to my prty"
¿Cómo puedo eliminar las vocales de una cadena excepto la vocal al final de la palabra?En java, cómo puedo eliminar las vocales son 'a', 'e', 'i', 'o' y 'u
Por ejemplo "Please come to my party"
Para volver "Plse cme to my prty"
string.replaceAll("[aeiou]\\B", "")
Reads: Que todas las vocales ([aeiou]
) que no van seguidos de un "final de la palabra" (\\B
). Para obtener más información, lea el Javadoc en java.util.regex.Pattern
¿No bastaría con '\ B'? Sin embargo, es potencialmente problemático, ya que eso (y '\ b') indica solo un límite entre los caracteres de la palabra y de la palabra. Para la mayoría de los lenguajes naturales, la definición de expresiones regex de los caracteres de las palabras no es suficiente. – Joey
Tenga en cuenta que '\ b' y' \ B' no son caracteres, sino anclas de ancho cero. No consumen ni combinan ningún personaje. – Joey
Convierta la cadena en una matriz char.
Iterar a través de él.
Agregue cada carácter a un StringBuilder, a menos que el siguiente carácter sea un carácter alfabético.
Eso son tantas líneas de código, cuando * podría * usar una expresión regular ... ;-) –
Perfectamente cierto. Mi error. Paso tanto tiempo diciéndole a la gente "No use expresiones regulares cuando una instrucción' if' sí "o" * no * analice HTML con expresiones regulares "que a veces las omito cuando * son * apropiadas. –
ahora, este es un trabajo para expresiones regulares si alguna vez vi una ... – bdares
¿Es mejor que proporciones más información como dónde la usas? – Nipuna