Que padrão regex seria necessário eu passar para java.lang.String.split()
dividir uma string em uma matriz de substrings usando todos os caracteres em branco ( ' '
, '\t'
, '\n'
, etc.) como delimitadores?
java
string
whitespace
split
mcjabberz
fonte
fonte
trim()
primeiro:trim().split("\\s++")
- caso contrário, por exemplo, a divisão do `abc` emitirá duas seqüências vazias primeiro."\\\\s"
?Na maioria dos dialetos regex, há um conjunto de resumos de caracteres convenientes que você pode usar para esse tipo de coisa - estes são bons para lembrar:
\w
- Corresponde a qualquer caractere de palavra.\W
- Corresponde a qualquer caractere não-palavra.\s
- Corresponde a qualquer caractere de espaço em branco.\S
- Corresponde a qualquer coisa, exceto caracteres em espaço em branco.\d
- Corresponde a qualquer dígito.\D
- Corresponde a qualquer coisa, exceto dígitos.Uma pesquisa por "Regex Cheatsheets" deve recompensá-lo com vários resumos úteis.
fonte
Para que isso funcione em Javascript , tive que fazer o seguinte:
fonte
"\\ s +" deve fazer o truque
fonte
Além disso, você pode ter um espaço sem quebra UniCode xA0 ...
fonte
fonte
O Apache Commons Lang possui um método para dividir uma string com caracteres de espaço em branco como delimitadores:
http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#split(java.lang.String)
Isso pode ser mais fácil de usar do que um padrão regex.
fonte
Como é uma expressão regular, e suponho que você também não queira caracteres não alfanuméricos, como vírgulas, pontos, etc., que possam estar cercados por espaços em branco (por exemplo, "um, dois" deve fornecer [um] [dois]), deveria ser:
fonte
você pode dividir uma string por quebra de linha usando a seguinte instrução:
você pode dividir uma string pelo espaço em branco usando a seguinte instrução:
fonte
fonte
Estude este código .. boa sorte
fonte