¿Qué patrón de expresión que me necesita para pasar a java.lang.String.split()
dividir una cadena en una matriz de subcadenas utilizando todos los caracteres de espacio en blanco ( ' '
, '\t'
, '\n'
, etc.) como delimitadores?
java
string
whitespace
split
mcjabberz
fuente
fuente
trim()
primero debe:trim().split("\\s++")
- de lo contrario, por ejemplo, dividir `abc` emitirá dos cadenas vacías primero."\\\\s"
?En la mayoría de los dialectos de expresiones regulares hay un conjunto de resúmenes de caracteres convenientes que puede usar para este tipo de cosas; estos son buenos para recordar:
\w
- Coincide con cualquier carácter de palabra.\W
- Coincide con cualquier carácter no verbal.\s
- Coincide con cualquier personaje de espacio en blanco.\S
- Coincide con cualquier cosa menos caracteres de espacio en blanco.\d
- Coincide con cualquier dígito.\D
- Coincide con cualquier cosa excepto dígitos.La búsqueda de "Chegeheets Regex" debería recompensarlo con muchos resúmenes útiles.
fuente
Para que esto funcione en Javascript , tuve que hacer lo siguiente:
fuente
"\\ s +" debería hacer el truco
fuente
También es posible que tenga un espacio UniCode sin interrupción xA0 ...
fuente
fuente
Apache Commons Lang tiene un método para dividir una cadena con caracteres de espacio en blanco como delimitadores:
http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#split(java.lang.String)
Esto podría ser más fácil de usar que un patrón regex.
fuente
Dado que es una expresión regular, y supongo que tampoco querría caracteres no alfanuméricos como comas, puntos, etc. que podrían estar rodeados de espacios en blanco (por ejemplo, "uno, dos" debería dar [uno] [dos]), debería ser:
fuente
puede dividir una cadena por salto de línea utilizando la siguiente instrucción:
puede dividir una cadena por espacios en blanco utilizando la siguiente instrucción:
fuente
fuente
Estudia este código .. buena suerte
fuente