2010-01-23 8 views
7

Quiero dividir una cadena a través de String.split (k) donde k es una cadena arbitraria (leer de la entrada). El problema es que k puede ser cualquier cadena y, por lo tanto, puede incluir operadores de expresiones regulares, como por ejemplo: "*[".Groovy: escapando una expresión regular arbitraria (desconocida)

En tales casos, el método de división activa una excepción ya que la expresión regular no está bien formada.

Lo que estoy buscando es una forma de escapar de cualquier k dado, de modo que la cadena resultante se pueda pasar con seguridad en split().

¿Alguna idea?

Respuesta

8

Puede usar Pattern.quote() para escapar de los patrones de expresiones regulares.

Cuestiones relacionadas