Como separar essas palavras em java sendo lidas por um arquivo txt
9 respostas
java
Y
yuwith
Oi pessoal, eu estou fazendo um programa em java e nesse meu programa é lido um arquivo txt como entrada e eu devo separar as palavras por vírgula e linhas por exemplo:
“Outro Professor”, “OP”
“Estruturas de Dados e Programação Orientada a Objetos - T01”, “EDOO-T01”
neste caso Outro professor seria salvo em um array como valor, OP como chave, e Estrutura de dados deve ser salvo em outro array, e EDOO como uma chave desse outro array, como eu consigo fazer essa distinção em java?
Sim você consegue.
Veja que tem muitas formas de ler o arquivo txt
Para separar as palavras, tem varias formas
1.metodo split da classe String
2.StringTokenizer
3.Obter atraves de um laço usando str.charAt()
4… enfim …
Nesse seu caso, não pode ser como esta sendo feito. Porque se ele traz de palavra em palavra
os espaços são ignorados.
O que você pode fazer é ler caracter por caracter e colocar um laço para obte-los até encontrar o espaço ou final de linha.
Normalmente dentro de um txt tem o caracter 13 10 - Carriage Return / Line Feed, que siignifica nova linha ou final de linha.
Tem que filtrar.
Y
yuwith
então a melhor escolha seria trocar o readString, identificar as aspas pra pegar o que ta dentro, separar pela vírgula, e identificar essa nova linha? só pra confirmar mesmo kkkkkkkk
j-menezes
Como mencionei, tem varias opções.
Isso pode ser feito.
staroski
Assim deve resolver:
Stringregex="\"([^\"]*)\"";// regex para extrair texto entre aspasPatternpattern=Pattern.compile(regex);Stringlinha=null;while((linha=StdIn.readLine())!=null){Matchermatcher=pattern.matcher(linha);while(matcher.find()){StringtextoEntreAspas=matcher.group(0);System.out.println(textoEntreAspas);}}
Y
yuwith1 like
Vou tentar, muito obrigado
Y
yuwith
eu consegui fazer tudo compila sem problemas, eu olho caractere por caractere mas por algum motivo não ta lendo a entrada direito porque não tem valores sendo salvos no vetores, não sei se pode postar links aqui mas da pra dar uma olhada? eu fiz ele através do eclipse
j-menezes
Se possivel, coloca somente a parte do codigo que está dando o erro aqui pra gente ver.