Así que soy completamente nuevo en Regular Expressions, y estoy tratando de usar java.util.regex de Java para encontrar signos de puntuación en las cadenas de entrada. No sabré qué tipo de puntuación obtendría antes de tiempo, excepto que (1)!,?,., ... son todas punciones válidas, y (2) "<" y ">" significan algo especial, y no cuentan como puntuación El programa en sí construye frases pseudoaleatoriamente, y quiero quitar la puntuación al final de una oración antes de que pase por el proceso aleatorio.Expresiones regulares en Puntuación
Puedo hacer coincidir palabras enteras con cualquier signo de puntuación, pero el marcador simplemente me da índices para esa palabra. En otras palabras:
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher([some input string]);
tomará cualquier palabra con un "!" al final. Por ejemplo: - "día"
String inputString = "It is a warm Summer day!";
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher(inputString);
String match = inputString.substring(m.start(), m.end());
resultados en> Cadena partido ~
Pero quiero que el índice de Matcher sea el "!", Así que puedo dividirlo.
Probablemente podría crear casos, y usar String.substring (...) para cada tipo de puntuación que pueda obtener, pero espero que haya algún error en mi uso de expresiones regulares para hacer esto.
Oh! Dios mío, ni siquiera me di cuenta de eso. No, no fue intencional en absoluto. ¡Gracias por mencionarlo! –