Quero fazer o split com o espaço, virgula e ponto.
String [] words = line.split(" ,.");
E qual o resultado esperado disso?
Dê alguns exemplos de como isso deveria funcionar.
por exemplo a frase: O,…joao e,., porreiro
Eu quero o resultado O joao e porreiro
Quero cortar fora os pontos,as virgulas e os espaços.
split
recebe como parâmetro uma expressão regular (regex), então você pode fazer line.split("[ ,.]+")
.
Os colchetes criam uma classe de caracteres, que serve para quando você tem várias opções de caracteres que quer considerar. No caso, eles contém um espaço (repare que há um espaço depois do [
), uma vírgula e um ponto, então a regex pega qualquer um desses caracteres.
E o quantificador +
pega uma ou mais ocorrências, portanto o split
é feito usando como separador um ou mais caracteres que sejam espaço, vírgula ou ponto.
Claro que as formas de resolver podem variar conforme a string que você está usando, mas outra opção é usar split("\\W+")
- o atalho \W
é “tudo que não é alfanumérico”, sendo que “alfanumérico” são apenas: as letras de “A” a “Z” (maiúsculas e minúsculas), os dígitos de 0 a 9 e o caractere _
(no seu caso também funcionará, mas dependendo da string, pode dar diferença usar \W
ou a primeira solução acima).
obrigado