2012-07-04 5 views

Respuesta

25
words = Str.split("[^\\w']+"); 

Solo agrégalo a la clase de personaje. \W es equivalente a [^\w], que luego puede agregar ' a.

Observe, sin embargo, que \w también incluye guiones bajos. Si también desea dividir los guiones bajos, debería usar [^a-zA-Z0-9'] en su lugar.

+0

Claro, pero como ya estaban usando '\ W', elegí conservar eso. Sin embargo, agregué una nota al respecto. – Amber

+3

'a-zA-Z' solo funciona para caracteres ingleses. Un enfoque más general es '\ p {L}'. Por cierto, para reducir la confusión, deberías escapar de esa barra invertida. –

11

Para los caracteres básicos de inglés, utilizar

words = Str.split("[^a-zA-Z0-9']+"); 

Si desea incluir palabras en inglés con caracteres especiales (como prometido) o para los idiomas que utilizan caracteres no ingleses, ir con

words = Str.split("[^\\p{L}0-9']+"); 
Cuestiones relacionadas