Scala / Java: ¿biblioteca para analizar texto y eliminar puntuación?

Estoy usando una BreakIteratorimplementación en Java para eliminar la puntuación de una cadena. Necesito reescribir esto en Scala, así que pensé que podría ser una buena oportunidad para reemplazarlo con una biblioteca más agradable (mi implementación es bastante ingenua, y estoy seguro de que falla en casos extremos).

¿Existe alguna biblioteca que pueda ser utilizada?

Editar: Aquí está mi solución rápida en Scala:

  private val getWordsFromLine = (line: String) => {
    line.split(" ")
        .map(_.toLowerCase())
        .map(word => word.filter(Character.isLetter(_)))
        .filter(_.length() > 1)
        .toList
  }

Y dado esto List[String](uno para cada línea ... y sí ... esa ES la Biblia, es un buen caso de prueba):

EL SEGUNDO LIBRO DE MOSES, LLAMADO ÉXODO

CAPÍTULO 1 1 Ahora bien, estos [son] los nombres de los hijos de Israel que entraron en Egipto; cada hombre y su familia vinieron con Jacob. 2 Rubén, Simeón, Leví y Judá, 3 Isacar, Zabulón y Benjamín, 4 Dan, y Neftalí, Gad y Aser.

obtienes un me List[String]gusta así:

List(the, second, book, of, moses, called, exodus, chapter, now, these, are, the, names, of, the, children, of, israel, which, came, into, egypt, every, man, and, his, household, came, with, jacob, reuben, simeon, levi, and, judah, issachar, zebulun, and, benjamin, dan, and, naphtali, gad, and, asher)
Respuesta 1

Para este caso particular, iría con regex.

def toWords(lines: List[String]) = lines flatMap { line =>
  "[a-zA-Z]+".r findAllIn line map (_.toLowerCase)
}
Respuesta: 2

Cuando agrego un objeto a una Lista y cambio la propiedad del objeto, ese cambio se propagará al objeto en la lista, sin embargo, cuando configuro el objeto como nulo, no obtengo un puntero nulo del ...

Mi objetivo es crear una JTable y renderizar solo las celdas de la columna del extremo izquierdo, con el objetivo de crear encabezados de fila para la tabla. Todos los ejemplos de tablas de filas que he encontrado en línea parecen complicados o no ...

Necesito identificar las excepciones de fallas de conexión de la base de datos frente a otras excepciones y manejarlas en consecuencia dentro de mi controlador de errores de escucha kafka. Como todo se convierte a DataAcccessException en ...

La única forma que he encontrado de dibujar parte de una imagen es con esta función drawImage: public abstract boolean drawImage (Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2 , ...